![](/img/trans.png)
[英]Failed to generate preview for user when sharing open graph story in ShareDialog
[英]Facebook Open Graph API and ShareDialog
我想在Facebook上分享用户使用我的应用程序玩过游戏。 我想和他一起玩的人一起表演(可标记的朋友)。 我添加了一个新的故事“ Play”和“ Game Match”对象。 动作“播放”是自动生成的。 现在,我想为用户创建一个共享对话框,以便他实际上可以在Facebook上共享它。 不幸的是我的代码不起作用。 但是,当我使用游戏比赛对象的示例网址时,它可以很好地呈现并且工作正常。 到底是怎么回事? 你能告诉我问题是什么吗? 这是我的代码。 请查看带有注释“ Way ##”的3行。 当取消注释方法1的行时,一切正常,但是我想使用刚刚创建的对象,因此我尝试使用方法2,但是出现“无法为用户生成预览”错误。
ShareOpenGraphObject object = new ShareOpenGraphObject.Builder()
.putString("og:type", "games.match")
.putString("og:title", "Quick Draw Round")
.putString("og:image", "https://s-static.ak.fbcdn.net/images/devsite/attachment_blank.png")
.putString("games:players", "499827376")
.putInt("games:score", 100)
.putString("og:determiner", "a")
.putString("fb:app_id", "224658110883993")
.build();
ShareOpenGraphAction action = new ShareOpenGraphAction.Builder()
.setActionType("queuedroid-test:play")
.putString("match", "http://samples.ogp.me/413385652011237") // Way #1
// .putObject("match", object) // Way #2
.build();
ShareOpenGraphContent content = new ShareOpenGraphContent.Builder()
.setPreviewPropertyName("match")
.setAction(action)
.build();
ShareDialog dlg = new ShareDialog(activity);
dlg.registerCallback(mCallbackManager, new FacebookCallback<Sharer.Result>() {
@Override
public void onSuccess(Sharer.Result result) {
Log.d(TAG, "onSuccess: SUCCESS");
}
@Override
public void onCancel() {
Log.d(TAG, "onCancel: CANCEL");
}
@Override
public void onError(FacebookException error) {
Log.d(TAG, "onError: " + error.toString());
}
});
dlg.show(content);
它不包含的名称空间。 .putObject("match", object)
应更改为
.putObject("queuedroid-test:match", object)
其中queuedroid-test是您在https://developers.facebook.com/apps上的应用程序名称空间
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.