0
我試圖在兩個用戶之間發送應用程序生成的請求,而不通過JavaScript UI。應用程序生成的apprequests在Silverlight中失敗
FacebookClient client = new FacebookClient(SessionSecret);
Dictionary<string, string> parameters = new Dictionary<string, string>();
parameters["message"] = "Test";
parameters["data"] = "test";
client.PostCompleted += new EventHandler<FacebookApiEventArgs>(testCompleted);
client.PostAsync(String.Format("{0}/apprequests", ID), parameters);
我testCompleted方法FacebookApiEventArgs誤差始終是一個流對象,它期待在空對象引用:
at System.IO.StreamReader..ctor(Stream stream, Encoding encoding, Boolean
detectEncodingFromByteOrderMarks, Int32 bufferSize)
at System.IO.StreamReader..ctor(Stream stream)
at Facebook.FacebookClient.ProcessResponse(HttpHelper httpHelper, Stream
responseStream, Type resultType, String& responseStr, Exception& exception, Boolean&
cancelled)
這是5.2.1。
我做錯了嗎?我也嘗試使用App ID和祕密實例化客戶端,並獲得相同的結果。
它看起來像在PrepareRequest方法Facebook的客戶端代碼中的錯誤的行1671:
if (httpMethod == HttpMethod.Get)
{
// for GET, all parameters goes as querystrings
input = null;
queryString.Append(FacebookUtils.ToJsonQueryString(parameters));
}
else
{
if (parameters.ContainsKey("access_token"))
{
queryString.AppendFormat("access_token={0}", parameters["access_token"]);
parameters.Remove("access_token");
}
這只是在傳遞給方法的參數將用於獲取呼叫,而不是職位。