当我在Facebook页面上分享时,会收到以下错误:
(#100)只有网址的所有者才能指定图片,名称,缩略图或说明参数。
5-10天前工作正常。搜索后,我在Facebook developer site link上找到了以下内容:
"截至2017年11月7日,可以使用链接自定义 链接必须由发布页面和页面访问令牌拥有 需要。要验证所有权,请检查 URL节点上的ownership_permissions {can_customize_link_posts}字段。 有关详细信息,请参阅我们的链接所有权指南。对于版本2.10 不推荐使用更低版本,图片,名称,缩略图和说明。 所有版本都不推荐使用标题。"
任何帮助将不胜感激!
ShareLinkContent content = new ShareLinkContent.Builder()
.setContentUrl(Uri.parse(shareUrl))
.build();
new ShareApi(content).share(new FacebookCallback<Sharer.Result>() {
@Override
public void onSuccess(Sharer.Result result) {
shareCallback.onSuccess(result);
}
@Override
public void onCancel() {
shareCallback.onCancel();
}
@Override
public void onError(FacebookException error) {
shareCallback.onError(error);
}
});
答案 0 :(得分:5)
据我所知,这是对facebook api的最近更改。 它要求页面编辑者添加带有页面ID的元标记。
https://developers.facebook.com/docs/sharing/opengraph/object-properties?hc_location=ufi
在该页面上,请查找fb:pages
以下是fb:pages
按顺序与网址关联的一个或多个Facebook页面ID 启用链接编辑和即时文章发布。
简而言之,您需要添加<meta property="fb:pages" content="PAGE_ID">
才能编辑共享内容。
答案 1 :(得分:2)
我已经使用ShareDialog实现了这里是代码
CallbackManager callbackManager;
ShareDialog shareDialog;
shareDialog = new ShareDialog(this);
shareDialog.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() {
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException error) {
}
@Override
public void onSuccess(Sharer.Result result) {
}
});
if (ShareDialog.canShow(ShareLinkContent.class)) {
ShareLinkContent linkContent = new ShareLinkContent.Builder()
.setShareHashtag(new ShareHashtag.Builder()
.build())
.setContentUrl(Uri.parse(shareUrl))
.build();
shareDialog.show(linkContent);
}
我希望它可以帮到你