【问题标题】:I am not getting all the facebook photos user was tagged in我没有得到用户被标记的所有 facebook 照片
【发布时间】:2011-12-09 13:05:59
【问题描述】:

我正在使用 facebook graph 获取用户照片。稍后我将使用一个简单的 if 语句来缩短它,以仅过滤在该照片中被标记的朋友。

https://graph.facebook.com/me/photos?access_token=MYACCESS_TOKEN.

但我没有得到用户被标记的所有照片。我在朋友相册中标记了 11 张照片,他在 9 张照片中标记了我。

我们只得到了 9 张照片,剩下的照片甚至没有以 JSON 格式通过图表输出。

jQuery(document).ready(function() {
    var aToken = document.getElementById('aToken').value;
    jQuery.getJSON(
        'https://graph.facebook.com/me/photos?access_token='+aToken,
        function(data) {
            fbid = jQuery('#fbid').val();
            data = data.data;
            for (var i = 0; i < data.length; i++) {
                if(data[i].from.id == fbid || data[i].tags.data.id == fbid || data[i].tags.data[0].id == fbid) {
                    jQuery('#photos').append( "<div style='float:left;margin:25px;'><a href='crop.php?url="+data[i].source+"'><img src='"+data[i].picture+"'/></a></div>");
                }
            }
            if (jQuery('#photos').html() == "") {
                jQuery('#photos').hide();
                jQuery('#upload').show();
            }
        }
    );
}); 

fbid 是我朋友的 facebook id。 Facebook 是限制照片还是我的代码有问题?

【问题讨论】:

标签: jquery facebook facebook-graph-api


【解决方案1】:

我不确定我是否完全理解你。你是在你朋友的 11 张照片中标记了他,还是在 11 张照片中标记了他?你的 api 调用

 https://graph.facebook.com/me/photos

仅选择在其中标记了您的照片。这意味着,如果您仅被标记为 9,那么您将收到退回的金额。

【讨论】:

  • 我在我的照片中标记了他,我需要其中的 11+9 张照片
  • 那么我认为您将不得不对图形 api 进行多次查询。那个电话只会带回你的照片。然后,您需要拨打 graph.facebook.com/YOUR-FRIENDS-ID/photos 之类的电话并合并所有照片。我不确定是否有办法在 1 次调用中将其与 FQL 查询结合起来
  • 事实上你可以。因此,您的查询将类似于 graph.facebook.com/fql?q=SELECT src FROM photo WHERE pid in ( SELECT pid FROM photo_tag WHERE subject in(id1,id2) ) 这将为您提供所有照片的 src有问题。以下是您可以选择 developers.facebook.com/docs/reference/fql/photo 的字段的信息,您可以在此处测试查询 developers.facebook.com/tools/explorer 并记住您需要授予应用程序适当的权限
  • 我尝试了资源管理器并检查了 json 数据,但我没有收到照片。Facebook 是否限制私人相册的照片。
  • 是的,如果您的应用没有所需的权限,或者用户的隐私设置阻止您查看这些照片,那么您将无法执行此操作。您可以尝试使用您的应用程序访问令牌而不是您的用户。您可以通过检查 graph api explorer 下拉菜单并选择您的应用程序在资源管理器中对其进行测试。还要检查您是否已通过单击应用程序中的“获取访问令牌”按钮启用“朋友照片”权限
【解决方案2】:

您有什么理由认为其他两张(“缺失”)照片应该在 API 调用中可见?上传照片的用户有隐私设置,这会影响照片是否可以这样访问

【讨论】:

    【解决方案3】:

    您没有从相册中获取照片。 你应该得到一个专辑列表,并使用 graph/album-number/photos 调用.. 这里有一个 iphone 的例子:

    Not getting all the photos user is tagged in facebook

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多