4

我需要在 facebook 上分享一个包含自定义标题、图片和描述的测验结果。在 4 月 18 日更新到 2.9 版之前, Wich 运行良好。

但它不适用于 2.9 版。所以我错过了什么吗?还是 Facebook 不希望我们在 2017 年共享我们网站的自定义 Facebook 订阅源?

对于我的测试 facebook 提要设置,我严格使用Facebook Developers Documentation进行编码。

Facebook Changelog v2.9表示不再支持参数图片、名称、描述和标题。

我的 fb api 初始化:

<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId      : '*APP-ID*',
      xfbml      : true,
      version    : 'v2.9'
    });
    FB.AppEvents.logPageView();
  };

  (function(d, s, id){
     var js, fjs = d.getElementsByTagName(s)[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement(s); js.id = id;
     js.src = "//connect.facebook.net/en_US/sdk.js";
     fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk'));
</script>

我的脸书分享电话:

<script>
    $(document).ready(function() {
        $('#fbButton').click(function() {
            FB.ui({
                method: 'feed',
                link: '*URL*',
                caption: 'An example caption',
                picture: '*URL*/img/content4.jpg',
                name: 'An example name',
                description: 'An example description'
            }, function(response){});
        });
    });
</script>

结果,我得到了一个没有任何图片或描述的 Facebook 提要。唯一的就是标题(在<head>with中定义的页面标题<title>)。

显然,通常的程序不再起作用了。

那么有没有什么方法可以使用新的 facebook API 2.9 版共享自定义文本和自定义图片?

有什么解决方法吗?还是 v2.9 是不可能的,因为 facebook 不希望我们共享这样的自定义提要?(无论出于何种原因..)

(不,我不能使用 og:tags)

4

3 回答 3

3

我只是尝试使用 open graph 方法而不是 feed 并覆盖 og 属性,见下文:

FB.ui({
            method: 'share_open_graph',
            action_type: 'og.shares',
            action_properties: JSON.stringify({
                object : {
                   'og:url': 'http://astahdziq.in/', // your url to share
                   'og:title': 'Here my custom title',
                   'og:description': 'here custom description',
                   'og:image': 'http://apps.investis.com/Dharmendra/fbPOC/south.jpg'
                }
            })
            },
            // callback
            function(response) {
            if (response && !response.error_message) {
                // then get post content
                alert('successfully posted. Status id : '+response.post_id);
            } else {
                alert('Something went error.');
            }
        });

这对我有用,因为我可以发布带有标题和描述的自定义图像。

于 2017-08-30T11:58:04.053 回答
0

只是自己遇到这个问题。经过一番研究,我找到了这个解决方案:

www.facebook.com/sharer.php?caption=[caption]&description=[description]&u=[website]&picture=[image-url]

你可以使用 JavaScript window.open 来模拟这样的行为:

这是一个工作示例: https ://jsfiddle.net/ovidu_turean/mhuexvjL/

<button onclick="myFunction()">Try it</button>

<script>
function myFunction() {
  window.open('https://www.facebook.com/sharer.php?title=ThisIsAtitle&description=ThisIsAdesc&u=https://www.google.ro&picture=https://wallpapers.wallhaven.cc/wallpapers/full/wallhaven-526588.jpg', 'Share', 'scrollbars=yes,resizable=yes,toolbar=no,menubar=no,scrollbars=no,location=no,directories=no,width=300, height=300, top=300, left=300' );
}
</script>
于 2017-06-14T06:49:16.647 回答
0

https://developers.facebook.com/docs/apps/changelog#v2_9

自定义参数不再可能,共享 URL 仅从网站上的 Open Graph Tags 获取数据,Open Graph Tags 对于每个 URL 都需要是静态的。否则,您可以使用任何标题/描述共享任何 URL,这可能会产生误导。

于 2017-08-28T07:55:48.407 回答