Facebook 身份验证教程缺失的部分
Posted
技术标签:
【中文标题】Facebook 身份验证教程缺失的部分【英文标题】:Facebook authentication tutorial missing piece 【发布时间】:2012-01-20 23:44:54 【问题描述】:在过去的 2 天里,我一直在努力尝试成功验证用户进入我的 Facebook 应用程序。我最终要实现的是检索和存储用户的访问令牌。 我遇到的问题是按照FB教程进行身份验证:http://developers.facebook.com/docs/authentication/
就在客户端流程部分的上方,有一段代码可以让我获取当前用户。不幸的是,我只得到一个错误:
Warning: file_get_contents(https://graph.facebook.com/me?access_token=) [function.file-get-contents]: failed to open stream: No route to host
将错误追溯到我可以的点,显然这一行有错误:
$response = @file_get_contents($token_url);
因为如果我回显 $response,我什么也得不到。
教程中没有提到我应该做但我不是因为我不知道我应该做的事情?
非常感谢
【问题讨论】:
从该调用中删除@
以获取该行的错误消息。 @
抑制错误。很可能您有错误的参数app_id
、app_secret
或my_url
(191 错误...等)。
我删除了线上的@,但错误是一样的:没有到主机的路由。如前所述 echo $response;在屏幕上不打印任何内容。
试试var_dump
,你还确定你有一个有效的app_id
、app_secret
和my_url
参数吗?
在测试时我遇到了 191 错误,所以在这种情况下,我相信这不是问题所在。如果用户已注销,那么我也会看到登录屏幕和权限屏幕。如果我回显 $token_url,打印出来的字符串看起来是正确的。如果我 var_dump($response) 我得到 bool(false) 但如果 var_dump($token_url) 我得到整个字符串。我相信我在 file_get_contents 命令方面做得不对。有什么解决办法吗?谢谢
【参考方案1】:
可以通过
实现获取访问Token// Get the current access token
$access_token = $facebook->getAccessToken();
//And now echo the access token
echo $access_token;
【讨论】:
【参考方案2】:嗯,它最终得到了排序。显然是服务器问题。我尝试在 2 个不同的服务器 + 本地(Easyphp 5.3.8.1)上开发应用程序。在第三台服务器上,我尝试过它现在可以工作(手指交叉)。老实说,我不知道为什么它现在可以工作,为什么我的本地服务器没有按应有的方式运行。好吧,它现在可以工作了:D
【讨论】:
以上是关于Facebook 身份验证教程缺失的部分的主要内容,如果未能解决你的问题,请参考以下文章
Facebook 身份验证 iOS 使用 Storyboard