在 Facebook 页面分享出现错误

20

当我在 Facebook 页面分享时,出现以下错误:

(#100) 只有 URL 的所有者才能指定图片、名称、缩略图或描述参数。

5-10 天前它还正常工作。在Facebook 开发者网站链接上搜索后,我找到了以下信息:

“自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);
        }
    });

你是如何尝试分享的?请包含你的代码。 - andyrandy
@luschn:我编辑了我的问题,请看一下! - Harish Godara
好的,所以你只是想分享URL,没有其他参数吗? - andyrandy
@luschn:是的,我们只分享URL。 - Harish Godara
2个回答

5
据我所知,这是Facebook API的最新更改。它要求页面编辑者添加一个包含页面ID的元标记。

https://developers.facebook.com/docs/sharing/opengraph/object-properties?hc_location=ufi

在该页面上,请查找fb:pages 这是fb:pages的描述:
一个或多个Facebook页面ID与URL相关联,以便启用链接编辑和即时文章发布。
简而言之,您需要添加<meta property="fb:pages" content="PAGE_ID">以编辑共享内容。

2
我已经使用ShareDialog实现了它,以下是代码:

我已经使用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);
                }

i hope it can help you


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接