我正在使用此 URL 进行身份验证:
https://www.facebook.com/dialog/oauth?
client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&scope=email,read_stream
它工作正常,但是当我使用此代码时,它总是给我一个 0 值:
$user = $facebook->getUser();
这里有什么问题?
我正在使用此 URL 进行身份验证:
https://www.facebook.com/dialog/oauth?
client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&scope=email,read_stream
它工作正常,但是当我使用此代码时,它总是给我一个 0 值:
$user = $facebook->getUser();
这里有什么问题?
如果返回 0,则用户未登录 Facebook。身份验证只是将用户发送到 URL,如果他们不授予请求的权限(即不登录),那么您将无法获取用户 ID。
您还应该确保您使用的是最新的 PHP 库 (3.1)。旧版本与 Facebook 当前使用的 cookie 结构不兼容,在这种情况下 getUser 调用将始终返回 0。
您还可以使用 JavaScript 进行身份验证/请求权限,它内联执行所有操作,而不是重定向到 URL。