我有一个Facebook signed_request
,通过订阅auth.login
事件并在用户使用facebook login button
解码signed_request
后,我有以下信息:
{'issued_at': 1318492701,
'code': 'AQCXI5aiyYtYLFNtkYhtKwDhO02lP[truncated]',
'user_id': '100000xxxxxxxxx',
'algorithm': 'HMAC-SHA256'}
我在signed_request documentation找不到。这是什么code
及其用途是什么?
我认为它可能用于获取this thread中所述的授权代码,但随着signed_request
我还会在登录事件的响应中收到用户的访问令牌。
答案 0 :(得分:2)
我不知道他们为什么不提及在签名请求的文档页面上使用代码。代码可以交换访问令牌,这是发出任何后续Facebook API请求的关键。
相关文档在此处:https://developers.facebook.com/docs/authentication/
掌握此代码后,您可以继续执行下一步应用程序身份验证,以获取进行API调用所需的访问令牌。
要对您的应用进行身份验证,您必须将授权码和您的应用密码传递给Graph API令牌端点 - 以及上面使用的完全相同的redirect_uri - 位于https://graph.facebook.com/oauth/access_token。应用程序密钥可从开发人员应用程序获得,不应与任何人共享或嵌入您将分发的任何代码中(您应该在这些方案中使用客户端流程)。
答案 1 :(得分:1)
该代码对于获取有关安装应用的用户的信息非常有用
但无论如何告诉我你需要哪些信息然后我可以给你样例代码
好吧,如果你再次检查你发布的代码,你就会发现你有用户名 所以你不需要为这个
使用访问令牌但无论如何要获得基本信息&任何其他信息或发布&删除你有两种方式:
第一:直接做(不需要sdk,但更难) 第二:通过sdk(很容易) 我建议你使用sdk&如果您的服务器端编程语言是PHP,那么您可以这样做以获取基本信息
<?php
include_once ('src/facebook.php');/// include sdk
////// config The sdk
@ $facebook = new Facebook(array(
'appId' => '*************',
'secret' => '*****************',
));
$user=$facebook->api('me','GET');
echo '<pre>';
print_r($user);
echo '</pre>';
?>
下载 下载php sdk
答案 2 :(得分:1)
这是JavaScript SDK中的signed_request,对吗?代码由SDK使用,但不适用于服务器端身份验证。实际上,我们将更新文档以反映signed_request行为。
答案 3 :(得分:0)
您必须访问此facebook offical doc并阅读“signed_request参数”及其下面的文字,了解解码后获得的代码signed_request