我正在尝试检索&打印用户的朋友位置。我使用以下代码:
{scope:'email,friends_location, user_location,publish_stream'});
results += '<div><img src="https://graph.facebook.com/' + friend_data[i].id + '/picture">' + friend_data[i].name + friend_data[i].location + '</div>';
当我打印friend_data[i].location
的值时,它打印未定义,当我将此变量更改为friend_data[i].location.name
时,它不起作用,并且没有打印出任何内容。在用户自己的位置我正在做resource.location.name,它工作正常。
我搜索了很多地方并尝试了各种组合的代码,但没有用。 任何人都可以在这段代码中给我错误的地方吗?
非常感谢
答案 0 :(得分:2)
只需编写所有必要的权限即可:
{scope:'email,friends_location, user_location,publish_stream'});
......但是为了什么?
根据您询问的权限生成访问令牌。在构建与您的图表查询相对应的graph.facebook.com
网址时,您实际上并未传递任何访问令牌。因此,您的权限未被使用,无论您之前使用过它们。
答案 1 :(得分:1)
在搜索了其他几个地方之后,我正在回答我自己的问题,将来可能对某人有所帮助。实际上我在我的问题中设定了正确的范围。可能我没有正确打印输出。但是下面的代码肯定有用。
注意:以下查询中的位置是指当前位置。
$userFriend_profile = $facebook->api('/me/friends?fields=name,location&limit=20');
$total = count($userFriend_profile['data']);
for ($i = 0; $i < $total;)
{
if(isset($userFriend_profile['data'][$i]['location']['name']))
{
$city_Value = explode(',',trim($userFriend_profile['data'][$i]['location']['name']));
}
$i = $i + 1;
}