在Facebook应用程序中获取访问令牌时应该是redirect_uri?

use*_*404 24 facebook oauth access-token facebook-oauth

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

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

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

但它返回时出现此错误

{
   "error": {
      "message": "Error validating verification code.",
      "type": "OAuthException"
   }
}
Run Code Online (Sandbox Code Playgroud)

需要帮助,提前致谢.

Rob*_*bin 16

首先,我将回答您的重定向网址应该是什么

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

https://developers.facebook.com/apps

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

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

重定向URL必须是这个URL(站点)内的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
Run Code Online (Sandbox Code Playgroud)

这将为您提供用户身份验证代码(CODE),以表示用户已登录.

然后使用此代码发出请求

https://graph.facebook.com/oauth/access_token?client_id=CLIENT_ID&redirect_uri=REDIRECT_URL&client_secret=APP_SECRET&code=CODE
Run Code Online (Sandbox Code Playgroud)

它将以access_token = ACCESSTOKEN格式向您提供您指定的重定向网址的访问令牌.

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