2012-09-06 8 views
0

나는 페이스 북 앱에 점수를 게시하는 것과 관련하여 SO의 답을 트롤링 해왔고 여전히 작동하지 않습니다. 내가 사용하는 코드는 여기에 - 우리는 모노에서 크로스 플랫폼 응용 프로그램을 구축하고 우리가, webViews보다는 아이폰 OS/안드로이드 페이스 북 SDK를 사용하고Facebook 앱에 점수 게시하기

private const string FACEBOOK_POST_SCORE_URL = "https://graph.facebook.com/me/scores?access_token={0}"; 

public void PostScoreAsync(Action<FacebookResponse> response, FacebookScore score) 
    { 

     try 
     { 
      // Append the user's access token to the URL 
      Uri fullUri = new Uri(string.Format(FACEBOOK_POST_SCORE_URL, AccessToken)); 

      string json = JsonConvert.SerializeObject(score); 

      var request = (HttpWebRequest)WebRequest.Create(fullUri); 
      request.Method = "POST"; 
      request.ContentType = "application/json; charset=utf-8"; 

      using (StreamWriter writer = new StreamWriter(request.GetRequestStream())) 
      { 
       writer.Write(json); 
      } 

      request.BeginGetResponse(WebRequestCallback, new FacebookResult 
      { 
       Request = request, 
       Response = response 
      }); 

     } 
     catch (ThreadAbortException) 
     { 
      throw; 
     } 
     catch (WebException ex) 
     { 
      if (response != null) 
       response(FacebookResponse.NetworkError); 
     } 
     catch (Exception ex) 
     { 
      if (response != null) 
       response(FacebookResponse.OtherError); 
     } 

    } 

.

분명히 액세스 토큰이 &입니다. 앱에 로그인 후 허용하려는 모든 작업을 수행 할 수있는 전체 권한이있는 것 같습니다. 어떤 생각을 감사!

+0

당신이 가지고있는'access_token '이 Application을위한 것이지 사용자를위한 것이 아닌가? –

+0

확실히 액세스 토큰을 수정해야하지만 어쨌든 고마워요. – SomaMan

답변

0

나는 결국 페이스 북 그래프 API는 JSON 인코딩 된 매개 변수를 사용하지 않습니다 (동료에서) 발견, 그래서 우리가 지금처럼 분류 - 이제

string parameters = "score=" + score.Score; 

var request = (HttpWebRequest)WebRequest.Create(fullUri); 
request.Method = "POST"; 
request.ContentType = "application/x-www-form-urlencoded"; 

using (StreamWriter writer = new StreamWriter(request.GetRequestStream())) 
{ 
    writer.Write(parameters); 
} 

잘 작동 - 희망이 도움이됩니다 다른 누군가는 똑같은 문제가 없습니다.

관련 문제