我正在使用PHP客户端库编写Facebook iframe / Facebook Connect应用程序,在其中一个页面中,我需要检索用户的当前位置,无论是城市还是国家/地区。
我已为索引文件中的所有可能数据添加了“请求权限”。
$user_id = $facebook->require_login($required_permissions = 'user_location,publish_stream,email,read_stream,user_about_me,user_activities,user_birthday,user_hometown,user_interests,user_likes,user_status);
这是我在我的应用程序中使用的代码,
$userInfo = $facebook->api_client->users_getInfo($user_id, array('current_location'));
var_dump($userInfo);
$location = ($userInfo[0]) ? $userInfo[0]['current_location'] : $userInfo['current_location'];
echo "UserInfo : ".$location;
var_dump($ userInfo)的结果是string(0)""
,$ location的echo是空的。
请有人帮帮我。
答案 0 :(得分:1)
那是因为你在复制例子时犯了一个错误。您的方法签名错误。
// Your version
$facebook->api_client->users_getInfo($user_id,'last_name','first_name');
// From the example
$facebook->api_client->users_getInfo($uid, 'last_name, first_name');
看到区别?它只有两个参数 - 第二个是逗号分隔的字段名称列表。
因此,由于您没有正确地从API请求first_name
字段,因此它在响应中不可用。
因此在尝试阅读时出错。