我试图通过PhoneGap构建实现Phonegap Facebook Connect插件,FB.getLoginStatus总是返回"未知"即使我已登录Facebook并已授予访问我的应用程序的权限。这是我的代码:
JAVASCRIPT代码:
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady()
{
FB.init
({
appId: 'XXXXX',
status: true, // check login status
cookie: true, // enable cookies to allow the server to access the session
xfbml: false, // parse XFBML
oauth : true ,// enable OAuth 2.0
useCachedDialogs: false,
nativeInterface : CDV.FB
});
FB.getLoginStatus(function (response)
{
alert('FB.getLoginStatus');
if (response.status === 'connected')
{
alert('DUDE: connected to facebook');
}
else if (response.status === 'not_authorized')
{
alert('DUDE: not authorized for facebook');
}
else
{
alert('DUDE: not logged in to facebook: ' + response.status);
}
}, true);
}
CONFIG.XML:
<gap:plugin name="com.phonegap.plugins.facebookconnect">
<param name="APP_ID" value="XXXXXXX" />
<param name="APP_NAME" value="APP NAME" />
</gap:plugin>
为什么facebook auth状态未知?感谢。
答案 0 :(得分:0)
您需要在Facebook Connect plugin中查看“Facebook要求和设置”
Android中的:
如果您计划在Android上推出此功能,请注意您需要生成Android密钥哈希并将其提交到Facebook上的开发者页面以使其正常运行即可。此外,如果您在Windows(特别是64位版本)上生成此哈希,请使用版本0.9.8e或0.9.8d的OpenSSL for Windows而不是0.9.8k。对于fernandomatos的大肆宣传!
答案 1 :(得分:0)
这对我有用,使用插件和示例
https://github.com/Wizcorp/phonegap-facebook-plugin/blob/a5c6be9/README.md
您无法继续使用Cookie并需要自行传递访问令牌。
以下是您需要做的事情:
1)客户端(请注意,我使用的是旧版本的插件,其中FB js已修补,而不是新功能):
将用户ID和accesstoken传递给服务器:
FB.login(function(response) {
if (response.authResponse) {
// Use userID on authResponse because FB.getUserID() works in the browser but return null on device
var userId = response.authResponse.userID;
// Or use FB.getAccessToken()
var accessToken = response.authResponse.accessToken;
//use userId and accessToken to pass to the server (form or ajax call)
}
}
2)服务器端(php)
//Get the accessToken from the request
$accessToken = $_REQUEST['accessToken'];
$facebook = new Facebook(array(
'appId' => '<YOUR APP ID>',
'secret' => '<YOUR APP SECRET>'
));
$facebook->setAccessToken($accessToken);
//Now you have the right session setup and can call Graph API
$fbUser = $facebook->api('/me')