2011-10-04 2 views
0

JavaScript UI를 통하지 않고 두 사용자간에 응용 프로그램 생성 요청을 보내려고합니다.Silverlight에서 응용 프로그램 생성 apprequests가 실패했습니다.

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에 :

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 오류가 항상 기대하는 스트림 객체에 null 객체 참조입니다.

내가 잘못 했습니까? 또한 동일한 결과를 사용하여 앱 ID와 비밀번호를 사용하여 클라이언트를 인스턴스화하려고 시도했습니다.

이 라인 1671에서 PrepareRequest 방법의 페이스 북 클라이언트 코드의 버그처럼 보이는 : 그것은 단지 메서드에 전달 된 매개 변수에 태우고

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"); 
    } 

하지 게시물에 대한 호출을 받기 위해.

답변

0

나는 토끼 구멍에 내려 갔지만 나는 그럴 필요가 없었다. 사실, 문제는 애플리케이션 ID와 애플리케이션 비밀에서 새로운 accessToken을 생성하는 대신 사용자 accessToken을 사용하고 있다는 사실에 있습니다. 첫 번째 줄은 다음과 같아야합니다.

FacebookClient client = new FacebookClient(AppId, AppSecret); 
관련 문제