2013-02-11 4 views
3
나는 다음과 같은 오류를 얻고있다

에 대한 정보를 조회하는 데 사용되어야합니다받기 (OAuthException - # 2500) 활성 액세스 토큰은 현재 사용자

(OAuthException - #2500) An active access token must be used to query information about the current user.

C#으로 페이스 북 SDK의 V6를 사용.

다음은 내가 사용하고, 내 AppID가와 앱 비밀 생략 한 점에 유의하시기 바랍니다하고 그 코드 :

public partial class Form1 : Form 
{ 
    private string accessToken; 

    private void getAccessTokenButton_Click(object sender, EventArgs e) 
    { 
     FacebookClient client = new FacebookClient(); 
     dynamic result = client.Get("oauth/access_token", new 
     { 
      client_id = "OMITTED", 
      client_secret = "OMITTED", 
      grant_type = "client_credentials" 
     }); 
     accessToken = result.access_token; 
    } 

    private void retrieveFirstNameButton_Click(object sender, EventArgs e) 
    { 
     FacebookClient client = new FacebookClient(); 
     client.AccessToken = accessToken; 
     dynamic result = client.Get("me"); 
     MessageBox.Show(result.first_name); 
    } 
} 
+0

가능한 중복 (http://facebook.stackoverflow.com/questions/9351241/need-help-on-oauthexception- code-2500) – Igy

답변

2

아! 문제를 파악했습니다. 앱 액세스 토큰을 사용하여 현재 로그인 한 사용자에 대한 정보를 가져오고 있습니다. 허용되지 않습니다.
현재 로그인 한 사용자에 대한 세부 정보에 액세스하려면 사용자 액세스 토큰을 가져야합니다. 다른 옵션은 필요한 권한을 부여한 사용자에 대한 정보를 얻기 위해 '나'대신 사용자 ID를 전달할 수 있다는 것입니다.

dynamic result = client.Get("User_ID"); 
string name = result.first_name; 

난 당신의 코드에서 발견 또 다른 문제

는 기존 액세스 토큰을 가진 새로운`FacebookClient '를 만들기 위해 잘못된 방법을 사용했다. 올바른 방법은 생성자에서 accessToken을 전달하는 것입니다. 여기
FacebookClient client = new FacebookClient("Access_Token"); 

완전한 튜토리얼입니다 : Working with Facebook C# SDK

[OAuthException 코드 2500에 도움이 필요하십니까]의
+0

완벽하게 작동합니다. 감사합니다! –

+0

완료했다면이 대답을 수락하십시오! – ThePCWizard

관련 문제