7

我在 winform 中设置了一个 Web 浏览器控件并导航到以下 url-

https://www.facebook.com/dialog/oauth?client_id=xxxxxxxxxxxxx&redirect_uri=https://www.facebook.com/connect/login_success.html&display=popup&scope=publish_stream,user_status&response_type=token

它显示登录对话框。输入用户名和密码后,facebook重定向到以下网址-

https://www.facebook.com/login.php?skip_api_login=1&api_key=xxxxxxxx&signed_next=1&next=https://www.facebook.com/dialog/oauth?redirect_uri=https%253A%252F%252Fwww.facebook.com%252Fconnect%252Flogin_success.html&display=popup&scope=publish_stream%252Cuser_status&response_type=token&client_id=xxxxxxxxxx&ret=login&cancel_uri=https://www.facebook.com/connect/login_success.html?error=access_denied&error_code=200&error_description=Permissions+error&error_reason=user_denied%23_=_&display=popup

并显示一条带有两个按钮的消息,名为“okay”和“cancel”

xyourappxxxx would like to access your public profile, friend list and status updates.

如果我单击“确定”按钮,这将重定向到带有以下消息的页面--

page---https://www.facebook.com/dialog/oauth/read

消息---成功安全警告:请将上面的 URL 视为您的密码,不要与任何人共享。

应用类型:原生/桌面

客户端中的应用程序机密:否

客户端 OAuth 登录:enbl

嵌入式浏览器 OAuth 登录:enbl

沙盒模组:开

问题是授权后 facebook 没有重定向到我的 redirect_uri 并且没有获得任何访问令牌。

我正在使用 vb.net 2008 快递

谢谢

4

1 回答 1

4

我可能误解了您的问题/问题,如果是这样,请道歉..
在您的第一行中..您将 redirect_uri 设置为返回 facebook,而它应该是您想要的网站页面的 URI facebook 在用户验证并批准您的应用程序后将其发送到,不是吗?

换句话说,您的第一行不应该是:

https://www.facebook.com/dialog/oauth?client_id=xxxxxxxxxxxxx&redirect_uri=**https://WWW.YOURDOMAIN.COM/YOURPAGE.ASPX**&display=popup&scope=publish_stream,user_status&response_type=token

用户在弹出窗口上单击“确定”后,它会将他们重定向到您网站上的 YOURPAGE.ASPX,并传递 access_token

于 2013-10-19T07:59:02.600 回答