gpt4 book ai didi

android - Phonegap facebook 插件 : Not working when native FB app is installed

转载 作者:行者123 更新时间:2023-11-30 03:29:26 29 4
gpt4 key购买 nike

我在 fb 插件中使用了 cordova-2.5.0 和 facebook-sdk 3.0.2。当设备没有安装 native 应用程序时它工作正常。安装 native 应用程序时什么也没有发生。意味着它无法获取用户的当前访问 token 。知道吗?根据我的说法,有两种方法:

1) 像在 ios 中那样禁止访问 native 应用程序.但这是不正确的方式,就好像用户已经在 native 中登录,然后他必须在我的插件设置中再次登录。

2) 不知道如何解决这个问题。散列键没有问题,因为它是正确的,并且使用我的第一种方法在 ios 中运行良好。

所以我的问题是如何防止访问 native 应用程序? 或者还有其他方法可以解决这个问题吗?

因为我没有得到任何东西。当我要获取用户的好友列表时,它显示必须使用 Activity 访问 token 来查询有关当前用户的信息。"type":"OAuthException","code":2500

cdv-pluggin-fb-connect.js

 CDV = ( typeof CDV == 'undefined' ? {} : CDV );
var cordova = window.cordova || window.Cordova;
CDV.FB = {
init: function(apiKey, fail) {
// create the fb-root element if it doesn't exist
if (!document.getElementById('fb-root')) {
var elem = document.createElement('div');
elem.id = 'fb-root';
document.body.appendChild(elem);
}
cordova.exec(function() {
var authResponse = JSON.parse(localStorage.getItem('cdv_fb_session') || '{"expiresIn":0}');
if (authResponse && authResponse.expirationTime) {
var nowTime = (new Date()).getTime();
if (authResponse.expirationTime > nowTime) {
// Update expires in information
updatedExpiresIn = Math.floor((authResponse.expirationTime - nowTime) / 1000);
authResponse.expiresIn = updatedExpiresIn;

localStorage.setItem('cdv_fb_session', JSON.stringify(authResponse));
FB.Auth.setAuthResponse(authResponse, 'connected');
}
}
console.log('Cordova Facebook Connect plugin initialized successfully.');
}, (fail?fail:null), 'org.apache.cordova.facebook.Connect', 'init', [apiKey]);
},
login: function(params, cb, fail) {
params = params || { scope: '' };
cordova.exec(function(e) { // login
if (e.authResponse && e.authResponse.expiresIn) {
var expirationTime = e.authResponse.expiresIn === 0
? 0
: (new Date()).getTime() + e.authResponse.expiresIn * 1000;
e.authResponse.expirationTime = expirationTime;
}
localStorage.setItem('cdv_fb_session', JSON.stringify(e.authResponse));
FB.Auth.setAuthResponse(e.authResponse, 'connected');
if (cb) cb(e);
}, (fail?fail:null), 'org.apache.cordova.facebook.Connect', 'login', params.scope.split(',') );
},
logout: function(cb, fail) {
cordova.exec(function(e) {
localStorage.removeItem('cdv_fb_session');
FB.Auth.setAuthResponse(null, 'notConnected');
if (cb) cb(e);
}, (fail?fail:null), 'org.apache.cordova.facebook.Connect', 'logout', []);
},
getLoginStatus: function(cb, fail) {
cordova.exec(function(e) {
if (cb) cb(e);
}, (fail?fail:null), 'org.apache.cordova.facebook.Connect', 'getLoginStatus', []);
},
dialog: function(params, cb, fail) {
cordova.exec(function(e) { // login
if (cb) cb(e);
}, (fail?fail:null), 'org.apache.cordova.facebook.Connect', 'showDialog', [params] );
}
};

提前致谢!!

最佳答案

我能够让它与这个插件一起工作:https://github.com/jimzim/phonegap-facebook-android-sample

关于android - Phonegap facebook 插件 : Not working when native FB app is installed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17723762/

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