使用Facebook API在Feed对话框中标记某人

8 javascript php facebook facebook-graph-api facebook-javascript-sdk

我正在使用此代码在Facebook上分享图片.

<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:fb="https://www.facebook.com/2008/fbml">
  <head>
    <title>My Feed Dialog Page</title>
  </head>
  <body>
    <div id='fb-root'></div>
    <script src='http://connect.facebook.net/en_US/all.js'></script>
    <p><a onclick='postToFeed(); return false;'>Post to Feed</a></p>
    <p id='msg'></p>

    <script> 
      FB.init({appId: "13899290", status: true, cookie: true});

      function postToFeed() {

        // calling the API ...
        var obj = {
          method: 'feed',
          redirect_uri: 'YOUR URL HERE',
          link: 'https://developers.facebook.com/docs/reference/dialogs/',
          picture: 'http://fbrell.com/f8.jpg',
          name: 'Facebook Dialogs',
          caption: 'Reference Documentation',
          description: 'Using Dialogs to interact with users.'
        };

        function callback(response) {
          document.getElementById('msg').innerHTML = "Post ID: " + response['post_id'];
        }

        FB.ui(obj, callback);
      }

    </script>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我想标记照片中的某个人.我怎样才能实现这一目标?

提前致谢

Sah*_*tal 8

抱歉,您无法在Feed对话框中标记人物,但只能在" / photos "中使用标签参数标记图片.

标记的概念是只为打开图的故事可用.

更新:

您只能使用有效的地方参数标记一个人(如果您想在帖子中隐藏该地点,请改为提供任何有效的网页ID),该帖子将类似于 -


在此输入图像描述

我想,如果您没有使用开放图表,这是在帖子中标记朋友的唯一可行解决方案


Don*_*Lee 3

FB.ui 方法'feed'相当于 POST 到/USER_ID/feedGraph API 端点,它会创建posts。目前还没有办法使用 API为帖子创建标签。

参考:

https://developers.facebook.com/bugs/247911678652789

https://developers.facebook.com/docs/reference/api/post/

或者,您可以将照片上传到相册(或 /me/photos)并包含照片标签:

https://developers.facebook.com/docs/reference/api/photo/ [请参阅“标签:创建”部分]

这是我获取用户上传的文件并使用标签发布它的方式:

// Upon successful file (photo) upload.
$FILEPATH = $_FILES['file']['tmp_name'];

// upload it to FB.
$args = array(
  'name' => 'Testing photo upload via php-SDK!',
  'source' => '@'.realpath($FILEPATH),
  'tags' => array(
    array('tag_uid' => USER_ID, 'x' => 20, 'y' => 40),
  )
);
$post_id = $facebook->api('/me/photos', 'post', $args);
Run Code Online (Sandbox Code Playgroud)