25
$token_url = "https://graph.facebook.com/oauth/access_token?client_id="
    . $app_id . "&redirect_uri=" . urlencode($my_url) 
    . "&client_secret=" . $app_secret 
    . "&code=" . $code;

redirect_uri 应该是什么?我试过用这个

'https://graph.facebook.com/oauth/authorize?client_id='.$app_id.'&
redirect_uri='.urlencode($canvas_page).'&scope=email,read_stream,publish_stream';

但它返回了这个错误

{
   "error": {
      "message": "Error validating verification code.",
      "type": "OAuthException"
   }
}

需要帮助,在此先感谢。

4

1 回答 1

16

首先我会回答你的重定向网址应该是什么

转到您的 Facebook 应用程序仪表板

https://developers.facebook.com/apps

从页面左侧的手风琴菜单中选择您的应用程序。在此处输入图像描述

Canvas URL 有一个值(这里是“ http://localhost:7124 ”,它指向本地服务器。)

重定向 url必须是此 url(site) 中的 url 。类似' http://localhost:7124/home.aspx '或' http://localhost:7124/main/home.aspx '


要获取访问令牌,请按照以下步骤操作

发出请求

https://www.facebook.com/dialog/oauth?client_id=CLIENT_ID&redirect_uri=REDIRECT_URL&scope=read_stream

这将为您提供一个用户验证码 (CODE),以表示用户已登录。

然后使用此代码发出请求

https://graph.facebook.com/oauth/access_token?client_id=CLIENT_ID&redirect_uri=REDIRECT_URL&client_secret=APP_SECRET&code=CODE

它将以 access_token=ACCESSTOKEN 格式为您提供您指定的重定向 url 的访问令牌。

注意: 重定向 URL 必须是 Facebook 应用程序的 Canvas Url 内的路径,并且这些请求应该从 Canvas Url 指向的同一域提交

于 2011-10-20T11:16:31.877 回答