php+;脸谱网。获取访问令牌返回:验证验证代码时出错
用户重定向到登录对话框后php+;脸谱网。获取访问令牌返回:验证验证代码时出错,php,facebook,facebook-graph-api,Php,Facebook,Facebook Graph Api,用户重定向到登录对话框后 $url = "https://graph.facebook.com/oauth/authorize?client_id=$appid&scope=&" . "redirect_uri=$process_url"; 其中$process_uri是形式为https://my.domain.com/process.php?param1=value1¶m2=value2。用户返回到https://my.domain.com/process.php我确
$url = "https://graph.facebook.com/oauth/authorize?client_id=$appid&scope=&" .
"redirect_uri=$process_url";
其中$process_uri是形式为https://my.domain.com/process.php?param1=value1¶m2=value2
。用户返回到https://my.domain.com/process.php
我确实请求(已尝试先使用文件\u获取\u内容
):
我得到了{“error”:{“message”:“error validating verification code.”,“type”:“OAuthException”,“code”:100}
在谷歌搜索之后,我意识到可能导致问题的主要原因是curl请求中的错误redirect\u uri
。问题是:curl请求中应该是什么<代码>https://my.domain.com/?或https://my.domain.com/process.php
?或https://my.domain.com/process.php?param1=value1¶m2=value2
提前谢谢你 将当前URL作为重定向uri提交到端点时,请删除代码参数。我认为重定向uri用作哈希,因此必须以与提供给授权端点完全相同的格式提交。用户通过一个额外的参数code重定向到此uri,因此只需从当前URL中删除code参数就足够了。确保编码相同(包括外壳)。根据上面的示例,它应该是“”编码的
$url = "https://graph.facebook.com/oauth/access_token?client_id=" .
"$appid&redirect_uri=$current_url&client_secret=$secret" .
"&code={$_REQUEST['code']}";