【问题标题】:Tag someone on a feed dialog with Facebook API使用 Facebook API 在提要对话框中标记某人
【发布时间】:2012-11-30 06:51:57
【问题描述】:

我正在使用此代码在 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>

我想标记图片上的某个人。我怎样才能做到这一点?

提前致谢

【问题讨论】:

  • 你们确定这是不可能的。我敢肯定我最近在某个地方看到过这个

标签: php javascript facebook facebook-graph-api facebook-javascript-sdk


【解决方案1】:

抱歉,您不能在提要对话框中标记人员,只能标记使用“/photos”中的tags 参数的图片。

Tagging 概念仅适用于 Open Graph 故事。

更新:

您只能使用有效的 place 参数来标记一个人(如果您想在帖子中隐藏该地点,请提供任何有效的页面 id),帖子看起来像-


我猜,如果您不使用开放图,这是在帖子中标记朋友的唯一可能解决方案

【讨论】:

【解决方案2】:

FB.ui 方法'feed' 相当于发布到/USER_ID/feed Graph API 端点,它创建帖子。并且目前没有办法使用 api 为 posts 创建标签。

参考:

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);

【讨论】:

  • 谢谢,它确实有效,但我不想将照片保存在相册中。我只需要发布一个带有标签的提要对话框(使用他们的 ID)......你们确定吗这不可能。我敢肯定我最近在某个地方看到过这个
【解决方案3】:

有关提要标记,请在此处查看我以前的答案Facebook Graph API Post with_tags option

总而言之,您基本上需要使用提及标记

https://developers.facebook.com/docs/technical-guides/opengraph/mention-tagging/

【讨论】:

    【解决方案4】:

    找到这个here:

    例如,以下消息将提及 Facebook 开发者页面内联:

    Test message @[19292868552] tag
    

    但您的应用必须先经过审核。

    【讨论】:

      【解决方案5】:

      您不能将帖子中的图像标记到 NewsFeed (/home) 或用户的 Wall (/feed)。请参阅 Graph API docs 以获取要供稿的帖子。没有标签相关的参数。

      我确定我最近在某个地方看到过这个

      您所看到的可能是照片上传,它们确实出现在提要中,但未被 API 归类为新闻提要的帖子。照片上传接受标签属性。请参阅 Photo 的 Graph APi 文档。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-12-02
        • 2013-01-30
        • 2012-09-02
        • 2012-10-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多