我正在使用以下代码打开Facebook页面网址的Facebook共享对话框。
问题是,当我通过Facebook应用程序查看墙上的共享帖子时,我发现没有共享页面封面的帖子。
如果我通过我的墙上的Facebook应用程序共享同一页面,我会找到带有共享页面封面的帖子(当然这更酷)。
以下代码中是否缺少参数?
我正在使用Facebook SDK 4.1.2
FacebookDialog shareDialog = new ShareDialog(mMainActivity);
if (ShareDialog.canShow(ShareLinkContent.class))
{
ShareLinkContent linkContent = new ShareLinkContent.Builder()
.setContentUrl(Uri.parse(aFacebookPageURL))
.build();
shareDialog.show(linkContent);
}
编辑1:
使用.setImageUrl(Uri.parse(aPageCoverURL))
你可以看到上半部分(通过Facebook应用程序移动共享)和下半部分(通过我的应用程序共享)之间的区别。
编辑2:如何使用以下代码共享Facebook页面?下面的代码不起作用,没有出现共享对话框,我不知道是否有缺少的参数或者此代码不是为了共享页面,但我正在尝试。
ShareOpenGraphObject object = new ShareOpenGraphObject.Builder()
.putString("og:type", "page")
.putString("og:title", aTitle)
.putString("og:url", aURL)
.build();
// Create an action
ShareOpenGraphAction action = new ShareOpenGraphAction.Builder()
.setActionType(null)
.putObject("page", object)
.build();
ShareOpenGraphContent content = new ShareOpenGraphContent.Builder()
.setPreviewPropertyName("page")
.setAction(action)
.build();
ShareDialog.show(mMainActivity, content);
答案 0 :(得分:2)
来自Facebook documentation:
<强>链接强>
当人们分享从您的应用到Facebook的链接时,它包括 帖子中显示的属性:
- contentURL ,即要共享的链接
- contentTitle ,代表链接中内容的标题
- imageURL ,将在帖子上显示的缩略图图片的网址
- 内容的 contentDescription ,通常为2-4句
如果要显示图像,请使用setImageUrl(@Nullable final Uri imageUrl):
apk
这是SDK的一个分享:
这是直接来自应用的分享: