【问题标题】:facebook4j OAuth issuefacebook4j OAuth 问题
【发布时间】:2013-05-29 13:24:56
【问题描述】:

我正在使用 facebook4j,我已在 facebook4j.properties 文件中设置了配置详细信息。但是当我尝试获取访问令牌时,它会显示

SEVERE: Error while creating the Access TokenOAuth app id/secret combination not supplied
java.lang.IllegalStateException: OAuth app id/secret combination not supplied
    at facebook4j.FacebookBaseImpl.getOAuth(FacebookBaseImpl.java:247)
    at facebook4j.FacebookBaseImpl.getOAuthAuthorizationURL(FacebookBaseImpl.java:213)
    at facebook4j.FacebookBaseImpl.getOAuthAuthorizationURL(FacebookBaseImpl.java:206)

谁能提供 facebook4j for java 控制台应用程序的示例

Facebook facebookClient = new FacebookFactory().getInstance();
        return facebookClient;

【问题讨论】:

  • 请提供您的无效代码,以便我们了解它有什么问题
  • 如何使用 OAUTH 添加访问令牌
  • 如何获取访问令牌值
  • 我认为这个答案stackoverflow.com/questions/16895667/… 的一般含义也适用于你
  • @MarcoForberg 我接受,但是当我访问用户详细信息时,它显示错误SEVERE: Error while getting the facebook users {"error":{"message":"A user access token is required to request this resource.","type":"OAuthException","code":102}} FacebookException [statusCode=400, response=HttpResponse{statusCode=400, responseAsString='{"error":{"message":"A user access token is required to request this resource.","type":"OAuthException","code":102}} ', is=sun.net.www.protocol.http.HttpURLConnection$HttpInputStream@2c766.java:65)

标签: facebook java facebook-java-api


【解决方案1】:

这就是您可以在没有外部配置文件的情况下使用 facebook4j 的方式。下面的代码提供了一个最小的示例。 这是我的简单演示:

import facebook4j.Facebook;
import facebook4j.FacebookException;
import facebook4j.FacebookFactory;
import facebook4j.auth.AccessToken;

public class Facebook4JMinimalExample {

/**
 * A simple Facebook4J client.
 * 
 * 
 * @param args
 * @throws FacebookException 
 */
public static void main(String[] args) throws FacebookException {

    // Generate facebook instance.
    Facebook facebook = new FacebookFactory().getInstance();
    // Use default values for oauth app id.
    facebook.setOAuthAppId("", "");
    // Get an access token from: 
    // https://developers.facebook.com/tools/explorer
    // Copy and paste it below.
    String accessTokenString = "PASTE_YOUR_ACCESS_TOKEN_STRING_HERE";
    AccessToken at = new AccessToken(accessTokenString);
    // Set access token.
    facebook.setOAuthAccessToken(at);

    // We're done.
    // Write some stuff to your wall.
    facebook.postStatusMessage("Wow, it works...");

}
}

请注意,首先调用“facebook.setOAuthAppId(..)”然后设置访问令牌很重要。否则,您将收到 IllegalStateException 提示“未提供 OAuth 应用程序 ID/秘密组合”。

在这种情况下,我刚刚使用了 OAuthAppId 的默认值。

【讨论】:

  • OAuthAooId应该设置什么,什么是access Tokens?如何获取?
  • 在此特定示例中,您无需为 OAuthAppId 设置任何内容。获取访问令牌需要您登录到您的 FB 帐户并访问此 URL:developers.facebook.com/tools/explorer。只需复制访问令牌字符串并将其粘贴到代码中即可。
猜你喜欢
  • 1970-01-01
  • 2013-05-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-16
  • 2011-10-01
  • 2011-02-25
  • 2011-02-22
相关资源
最近更新 更多