FB交换令牌api缺少redirect_uri

cri*_*aca 10 redirect facebook facebook-oauth

我正在使用这样的FB交换令牌api:

https://graph.facebook.com/oauth/access_token?client_id={client_id}8&client_secret={client_secret}}&grant_type=fb_exchange_token&fb_exchange_token={one_hour_token}&redirect_uri=http%3A%2F%2Fotagz.cloudfoundry.com%2FfacebookCallback
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

"message":"缺少redirect_uri参数.",键入":"OAuthException","code":191

我有我的申请网址:otagz.cloudfoundry.com

我知道有关于这个问题的另一个问题,但没有解决方案,而且是从2010年开始.

有人知道redirect_uri有什么问题吗?

谢谢,克里斯蒂安

Pau*_*sak 11

如果您正在使用CURL命令行工具 - 可能您遇到了与我相同的问题:只需将URL放在引号中即可.有关此错误,请参阅Facebook答案:https://developers.facebook.com/bugs/1374437326120797

我不确定Facebook使用Stackoverflow作为官方通信方式.你会得到更快的答案:https://developers.facebook.com/bugs/


Luk*_*nke 10

有同样的问题,通过从 url 中删除空格解决了它(我从 facebook 网站复制了它,参数之间有几个额外的空格)


小智 1

我遇到了你的问题,但我设法用以下方法解决它。它不需要重定向

假设您已经获得了短期访问令牌

$accessToken;

$graph_url = "https://graph.facebook.com/oauth/access_token?client_id=".$your_app_id."&client_secret=".$your_app_secretkey."&grant_type=fb_exchange_token&fb_exchange_token=".$accessToken;

$result = file_get_contents($graph_url);

parse_str($result, $output);

echo $output[access_token];
echo $output[expires];  
Run Code Online (Sandbox Code Playgroud)