spe*_*ees 5 php forms facebook
我设法通过 facebook api 登录(我认为)。这是我的代码:
\n\n<script>\n window.fbAsyncInit = function() {\n FB.init({\n appId : \'134824563795810\',\n autoLogAppEvents : true,\n xfbml : true,\n version : \'v2.10\'\n });\n FB.AppEvents.logPageView();\n };\n\n (function(d, s, id){\n var js, fjs = d.getElementsByTagName(s)[0];\n if (d.getElementById(id)) {return;}\n js = d.createElement(s); js.id = id;\n js.src = "//connect.facebook.net/en_US/sdk.js";\n fjs.parentNode.insertBefore(js, fjs);\n }(document, \'script\', \'facebook-jssdk\'));\n\n function myFacebookLogin() {\n FB.login(function(){}, {scope: \'publish_actions\'});\n }\n\n</script>\nRun Code Online (Sandbox Code Playgroud)\n\n和简单的按钮只是为了测试这是否有效:
\n\n<button onclick="myFacebookLogin()">Kontynuuj przez facebook</button>\nRun Code Online (Sandbox Code Playgroud)\n\n单击它后,我收到此弹出窗口:
\n\n\n\n我单击“确定”,我认为我已登录。再次单击会生成小的弹出窗口,该窗口很快就会消失。我说我认为我已经登录,因为我没有在我的网站上使用任何授权。我不需要它。
\n\n我的问题是:如果我已登录,如何获取用户的名字和姓氏并将这些值放入括号输入中?
\n\n\n\n我想让脚本只将值放入输入中。喜欢:
\n\nImi\xc4\x99->first nameNazwisko->last name有什么建议么?
\n\n编辑:
\n\n我终于想出了这段代码:
\n\n<script>\nfunction getUserData() {\n FB.api(\'/me?fields=first_name,last_name,email,location\', function(response) {\n var imie = document.getElementById(\'basketInputName\');\n if(!imie || !imie.value)\n imie.value = response.first_name;\n var nazwisko = document.getElementById(\'basketInputLastName\');\n if(!nazwisko || !nazwisko.value)\n nazwisko.value = response.last_name;\n var email = document.getElementById(\'basketInputMail\');\n if(!email || !email.value)\n email.value = response.email;\n var location = document.getElementById(\'cityToHidden\');\n if(!location || !location.value)\n location.value = response.location.name;\n });\n}\n window.fbAsyncInit = function() {\n\n\nFB.init({\n appId : \'134824563795810\',\n autoLogAppEvents : true,\n xfbml : true,\n version : \'v2.10\'\n});\nFB.getLoginStatus(function(response) {\n if (response.status === \'connected\') {\n //user is authorized\n document.getElementById(\'loginBtn\').style.display = \'none\';\n getUserData();\n } else {\n //user is not authorized\n }\n});\n };\n\n (function(d, s, id){\n var js, fjs = d.getElementsByTagName(s)[0];\n if (d.getElementById(id)) {return;}\n js = d.createElement(s); js.id = id;\n js.src = "//connect.facebook.net/en_US/sdk.js";\n fjs.parentNode.insertBefore(js, fjs);\n }(document, \'script\', \'facebook-jssdk\'));\n\n function myFacebookLogin() {\nFB.login(function(){\n getUserData();\n}, {scope: \'user_location\'});\n}\nRun Code Online (Sandbox Code Playgroud)\n\n\n\n但它没有按照我想要的方式工作。当我单击loggin按钮时,没有任何反应,但是当我刷新页面并检查存储桶时,我看到了firstName,lastName并且email位于输入中。我不知道如何通过单击动态填充输入login按钮而不刷新页面来动态填充输入。\n有人可以帮忙吗?
使用 user_about_me 和 public_profile 范围
function myFacebookLogin() {
FB.login(function(){}, {scope: 'publish_actions,user_about_me,public_profile'});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3297 次 |
| 最近记录: |