2013-06-04 267 views
2

是否有人通過獲取用戶憑證和允許與linkedin API類似的字段來幫助我爲Facebook的OAuth訪問令牌提供示例。Facebook4j與OAUTH訪問令牌

我試圖用像

Configuration configuration = createConfiguration(); 
     FacebookFactory facebookFactory = new FacebookFactory(configuration); 
     Facebook facebookClient = facebookFactory.getInstance(); 
     AccessToken accessToken = null; 
     try{ 
      OAuthSupport oAuthSupport = new OAuthAuthorization(configuration); 
      accessToken = oAuthSupport.getOAuthAppAccessToken(); 

     }catch (FacebookException e) { 
      logger.error("Error while creating access token " + e.getLocalizedMessage(), e); 
     } 

public Configuration createConfiguration() { 
     ConfigurationBuilder confBuilder = new ConfigurationBuilder(); 

     confBuilder.setDebugEnabled(APIConfiguration.DEBUG_ENABLED); 
     confBuilder.setOAuthAppId(APIConfiguration.APP_ID); 
     confBuilder.setOAuthAppSecret(APIConfiguration.APP_SECRET); 
     confBuilder.setUseSSL(APIConfiguration.USE_SSL); 
     confBuilder.setJSONStoreEnabled(APIConfiguration.JSON_STORE_ENABLED); 


     Configuration configuration = confBuilder.build(); 
     return configuration; 
    } 

我得到的訪問令牌,但我可以搜索用戶來說,它顯示

嚴重錯誤:在獲取Facebook用戶{「錯誤」:{「消息」:」 (#200),必須有一個有效的access_token訪問端點」, 「類型」: 「OAuthException」, 「代碼」:200}}

FacebookException [statusCode=403, response=HttpResponse{statusCode=403, responseAsString='{"error":{"message":"(#200) Must have a valid access_token to access this endpoint","type":"OAuthException","code":200}} 
', [email protected]232784a, streamConsumed=true}, errorType=OAuthException, errorMessage=(#200) Must have a valid access_token to access this endpoint, errorCode=200] 
    at facebook4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:189) 
    at facebook4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:65) 
    at facebook4j.internal.http.HttpClientWrapper.get(HttpClientWrapper.java:93) 
    at facebook4j.FacebookImpl.get(FacebookImpl.java:2095) 
    at facebook4j.FacebookImpl.searchUsers(FacebookImpl.java:1799) 
    at facebook4j.FacebookImpl.searchUsers(FacebookImpl.java:1795) 

我將如何使用回叫URL我試圖REDIRECT_URI得到OAUTH與http://www.google.com但它沒有給出任何代碼。

這是我的java控制檯應用程序

+0

我面臨着同樣獲得accesToken串問題,你可以請分享解決方案,如果你得到這個固定的... ... – ifti

回答

0

我用你的代碼的啓發和我有類似的錯誤。解決方案似乎是在應用程序必須由中心創建,編輯,提交和批准的Faceboook開發人員中心= https://developers.facebook.com/中正確註冊應用程序。

0

我想你錯過了這條線:

facebookClient.setOAuthAccessToken(accessToken); 
2

定義的accessToken如下面的例子:

accessToken = new AccessToken("CAACEdEose0cBAFpfeSxd3WFzkUfm4l4PTKtLblS0hpbOFQcanzYciYMCSuFNOgiZBEtjxWZCHvwU0iP4cTe7aHXeNB5nQOC88ECE1lzVvjNKPjXNsGmJfbNfGEULQ0zEfeTla3Puknj6AGcsPy5VKKEQdJ3FbJ20RRemtgAGh05kgXsXnLrdfCPq6e6eFyu8dWxL1ZBv0EZBe9le3m0U"); 

,其中從https://developers.facebook.com/tools/accesstoken/enter image description here