我在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重定向到以下内容 URL -
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”& “取消”
xyourappxxxx would like to access your public profile, friend list and status updates.
如果我点击“Okay”按钮,这将重定向到以下页面,其中包含 -
的消息page---https://www.facebook.com/dialog/oauth/read
消息---成功安全警告:请将上述URL视为您 是你的密码,不要与任何人分享。
应用程序类型:本机/桌面
客户端的应用秘密:否
客户端OAuth登录:enbl
嵌入式浏览器OAuth登录:enbl
Sandbox mod:ON
问题是在授权后facebook没有重定向到我的redirect_uri而没有获得任何访问令牌。
我正在使用vb.net 2008 express
谢谢
答案 0 :(得分: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
用户在弹出窗口中单击“okay”后,它会将它们重定向到您网站上的YOURPAGE.ASPX,并传递access_token