1

还有许多与此相关的其他问题,但他们并没有帮助我解决我的问题。

我正在使用 Facebook 服务器端登录网站,我想在本地进行测试。启动登录操作的路径是 [http://localhost:8080/fblogin](这会重定向到 Facebook 登录对话框,并从那里开始)。

我可以成功获取代码,但是当我尝试将其交换为访问令牌时,出现以下错误:

{"error":{"message":"Missing redirect_uri parameter.","type":"OAuthException","code":191}}

我提供了redirect_uri,url编码,它与我用来获取第一个代码的相同。这是我用来请求访问令牌的 url(当然,全大写查询字符串参数替换为它们的实际值):

https://graph.facebook.com/oauth/access_token?client_id=CLIENT_ID&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Ffblogin&client_secret=CLIENT_SECRET&code=CODE_FROM_FB

我怀疑这可能与我的应用在 Facebook 上的设置方式有关。以下是我设置的值:

Display Name: (an actual display name here) 
App Domains: localhost 
Contact email: (an actual email here) 
Site URL: [http://localhost:8080/fblogin]

我需要在设置中进行哪些调整才能使其正常工作?或者这看起来正确吗?

顺便说一句,如果有什么不同的话,我正在使用 Play!框架,版本 2.0.1

4

2 回答 2

0

经过一番挖掘,我发现在从我的服务器发送请求以获取访问令牌时,我有必要使用 POST。

于 2013-02-22T15:40:27.013 回答
0

有趣的是,使用 POST 对你有用,因为这对我没有用。

无论如何,您是否使用 setQueryParameter() 添加了查询参数?(参见如何在 play 2 中发出多个 http 请求?

于 2013-04-11T03:24:54.763 回答