我没有得到用户被标记的所有Facebook照片

时间:2011-12-09 13:06:00

标签: jquery facebook facebook-graph-api

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

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

但我没有收到用户被标记的所有照片。我在朋友的alubms中标记了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是我朋友的脸书ID。 Facebook限制照片还是我的代码有问题?

3 个答案:

答案 0 :(得分:1)

我不确定我完全理解你。您是否在朋友照片的11张照片中贴了标签,或者您是否在11张照片中为他添加了标签?你的api电话

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

仅选择已标记在其中的照片。这意味着如果你只用9标记,那就是你将收到的金额。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

Not getting all the photos user is tagged in facebook

希望有所帮助