gpt4 book ai didi

java - facebook 登录 服务器端应用程序与 javascript sdk

转载 作者:太空宇宙 更新时间:2023-11-04 07:53:08 26 4
gpt4 key购买 nike

我已经在 stackoverflow 中搜索了完整的示例或一些博客,解释了如何使用 javascript sdk 使 facebook 登录服务器端应用程序但没有找到任何东西。

我搜索了developer.facebook.com网站,我唯一得到的是一个php示例https://developers.facebook.com/docs/howtos/login/server-side-login/ 。问题是我必须使用 JavaScript。

我为什么要这么做?原因是我想将文件上传到服务器(google-app-engine(Java Sdk))并使用facebook用户id将它们保存在数据库上并通过他的用户id检索它们。

另一个问题是,如果他动态上传,我该如何调试我的javascript代码?代码辅助怎么样?

最佳答案

好吧,我可以帮助您解决这个问题。如果您需要使用FB的JS SDK,那么您必须在客户端或浏览器上完成所有操作,因为Facebook在服务器端不支持Java。

因此,我建议您可以在客户端上对用户进行身份验证,定义访问用户个人资料的范围,一旦通过用户身份验证,您将获得 JSON 对象形式的响应,您可以使用 ajax 将其发送到 AppEngine 后端。

我正在分享我使用 FB 登录并访问用户的个人资料信息及其相册和视频中的照片的链接。

http://demositeunicfyp.appspot.com/fb-pictures.html

http://demositeunicfyp.appspot.com/facebook.html

您可以在浏览器中调试 JS 代码,以查看从 Facebook API 返回的响应对象类型。

$(document).ready(function() {
// Initializing the Facebook SDK
FB.init({
appId : 'XXXXXXXXXXXXXXXX',
status : true,
cookie : true,
xfbml : true,
oauth : true
});

// Method to check if a user is looged in to FB or Not
FB.getLoginStatus(updateButton);

$("#logout").live("click", function(event) {
event.preventDefault();
// FB.getLoginStatus(updateButton);
FB.logout(function(response) {
$("#loginDiv").show();
$("#logoutDiv").hide();
});
});


$("#fbLoginButton").live("click", function(event) {
//event.preventDefault();
FB.getLoginStatus(updateButton);
});

function updateButton(response) {
var button = document.getElementById("fbLoginButton");

if (response.authResponse) {
// user is already logged in and connected
// button.innerHTML = 'Facebook Logout';
//$("#loginDiv").hide();
//$("#logoutDiv").show();
//window.location = '/confirm';

FB.api('/me', function(response) {
$("#userName").text(response.name);
$("#userEmail").text(response.email);
});

} else {
// user is not connected to your app or logged out
// button.innerHTML = 'Facebook Login';

button.onclick = function() {
FB.login(function(response) {
if (response.authResponse) {
// button.innerHTML = 'Facebook Logout';
$("#loginDiv").hide();
$("#logoutDiv").show();

FB.api('/me', function(response) {
$("#userName").text(response.name);
$("#userEmail").text(response.email);
});
} else {
//user cancelled login or did not grant authorization hence do nothing
}
}, {
scope : 'email,publish_actions'
});
}
}
}
});

关于java - facebook 登录 服务器端应用程序与 javascript sdk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14082343/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com