Facebook Oauth移动网络

Sac*_*hin 3 facebook oauth

我在弄清楚如何为移动Web应用程序实现Facebook Oauth时遇到了很多麻烦.我想在他们的开发者网站上使用以下代码示例中"display"参数中指示的"touch"界面.有没有人有使用此代码的经验?我似乎无法在Javascript中使用它.是否有其他方法可以让我的用户看到触摸启用登录界面?

这是我所指的文档:http://developers.facebook.com/docs/guides/mobile/

Mic*_*ips 5

是的,有一种方法可以让您的移动浏览器用户看到启用触摸的登录界面.您需要使用oauth此处所述的方法,而不是使用FB SDK :

http://developers.facebook.com/docs/authentication/

我正在使用"服务器端流程"来完成你正在尝试做的事情,它看起来效果很好.

首先,您重定向到FB oauth页面,将您的应用程序ID和目标网页作为回调传递(注意:landing_page必须格式化为目录,不能是文档!).display=touch如果您需要,可以传入和选择可用的应用数据state.

document.location='http://www.facebook.com/dialog/oauth?client_id=' + appid + 
    '&redirect_uri=http://' + landing_page + '/&display=touch&state=' + 
     optional_app_data;
Run Code Online (Sandbox Code Playgroud)

用户成功登录后,您的用户将被重定向到landing_page,其GET变量为code.如果您需要查询Open Graph API以获取此类用户信息(在PHP中),您可以使用它code来获取access_token:

$response = file_get_contents("https://graph.facebook.com/oauth/access_token?"
    ."client_id=FACEBOOK_ID."&redirect_uri=http://". landing_page
    ."/oauth/&client_secret=".FB_APPSECRET."&code=$authcode"); 

parse_str($response, $params);

$graph_url = "https://graph.facebook.com/me?access_token=".$params['access_token'];
Run Code Online (Sandbox Code Playgroud)