GraphRequest:警告:没有访问令牌的请求缺少应用程序ID或客户端令牌

时间:2015-06-16 13:20:41

标签: android facebook facebook-android-sdk

我使用最新的Facebook SDK(v4.2.0)for android。

当我尝试发布开放图形故事时,logcat说: GraphRequest:警告:没有访问令牌的请求缺少应用程序ID或客户端令牌并且故事没有发布。

我的onCreate方法代码是:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    FacebookSdk.sdkInitialize(getApplicationContext());
    callbackManager = CallbackManager.Factory.create();
    LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() {//@Overridden method});
}

之后我从按钮的onClickListener

调用了以下代码
LoginManager.getInstance().logInWithPublishPermissions(this, Arrays.asList("publish_action"));

我还处理了回调:

@Override
protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);

}

我用于打开图表帖子的代码是:

 Bundle params = new Bundle();
    params.putString("match", "http://samples.ogp.me/413385652011237");

    GraphRequest request = new GraphRequest(
            AccessToken.getCurrentAccessToken(),
            "me/tigertraptest:complete",
            params,
            HttpMethod.POST
    );
    GraphResponse response = request.executeAndWait();

此外,我已尝试在此链接中建议的所有解决方案:failed solution

我是Facebook整合新手。请帮忙。

编辑我已发布我在活动中使用的所有代码,以启用Facebook开放图表帖子。

2 个答案:

答案 0 :(得分:0)

您必须使用accesstokentracker来跟踪您的访问权限,因为它会在一段时间后发生变化。您还必须添加onCurrentAccessTokenChanged方法。你可以参考 Getting null response in android fb graph api 代码。虽然在该代码中,正在提取组提要,但您可以看到与访问令牌相关的部分。

答案 1 :(得分:-1)

您还需要传递访问令牌。

params.putString("access_token", "YOUR_ACCESS_TOKEN");