2013-06-04 197 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