1

restFB 1.6.12 を使用しています。私は2つの方法でFacebookのアクセストークンを取得しています.

1. CLIENT_APP_ID = "XXXXXXXXXXXXXXXXXX"; 
   CLIENT_SECRET = "XXXXXXXXXXXXXXXXXX"; 
   REDIRECT_URL  = "XXXXXXXXXXXXXXXXXX";
   AUTH_CODE = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; 
   SCOPE = "email,read_stream";

    Redirect to facebook as the example. As a result I'll get an
    authorization code  
    https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&scope=email,read_stream

    asking for an access_token using,

    https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&client_secret=YOUR_APP_SECRET&code=THE_CODE_FROM_ABOVE

    this returns the access token like this,

    access_token=CAAHWfjdHDKcBAIL0zHMeJKzJw8Ug7WrrrkNxpBnK7ubnFR1RGtIIZA7T3UPlhCSV0hPJXZAgTcKfBSfHZAyxsndc3RT72XMREjACxnGb0ZCGMZAUgDWH3FgOhnaoSBMgkaQBPDOCCEKcLnznMYSncWS7dVxl9IFrSzeFjF6LKOWB3NTynl5X1&expires=5125218

 2. AccessToken accessToken = new
    DefaultFacebookClient().obtainAppAccessToken(appid,appsecret);
    String token=accessToken.getAccessToken();

    It reurns the access token like this,

    access_token=517312558337191|5oHY9T3cZICO_TCeK8OdXKg5Y08

first(1) を使用すると、最初のアクセスでは問題なく動作し、その後はすべてのアクセスでエラーがスローされます

Auth Token= {"error":{"message":"This authorization code has been used.","type":"OAuthException","code":100}}

2番目の(2)を使用すると、publicSearchMessagesに対してのみ正常に機能しますが、publicEventsまたは他の検索にアクセスするとエラーがスローされます

com.restfb.exception.FacebookOAuthException: Received Facebook error response of type OAuthException: (#200) Must have a valid access_token to access this endpoint
    at com.restfb.DefaultFacebookClient$DefaultGraphFacebookExceptionMapper.exceptionForTypeAndMessage(DefaultFacebookClient.java:766)
    at com.restfb.DefaultFacebookClient.throwFacebookResponseStatusExceptionIfNecessary(DefaultFacebookClient.java:688)
    at com.restfb.DefaultFacebookClient.makeRequestAndProcessResponse(DefaultFacebookClient.java:630)
    at com.restfb.DefaultFacebookClient.makeRequest(DefaultFacebookClient.java:592)
    at com.restfb.DefaultFacebookClient.makeRequest(DefaultFacebookClient.java:556)
    at com.restfb.DefaultFacebookClient.fetchConnection(DefaultFacebookClient.java:219)

私の質問は、これら 2 つのアクセス トークンの違いは何ですか? また、最初のアクセス トークンが publicSearchMessages、getPublicEvents、およびその他の検索を実行するためのアクセス コードをプログラムで生成するにはどうすればよいですか?

期待どおりに機能するために使用されるアクセストークンはどれですか?

4

1 に答える 1