我使用最新的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开放图表帖子。
答案 0 :(得分:0)
您必须使用accesstokentracker来跟踪您的访问权限,因为它会在一段时间后发生变化。您还必须添加onCurrentAccessTokenChanged方法。你可以参考 Getting null response in android fb graph api 代码。虽然在该代码中,正在提取组提要,但您可以看到与访问令牌相关的部分。
答案 1 :(得分:-1)
您还需要传递访问令牌。
params.putString("access_token", "YOUR_ACCESS_TOKEN");