- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 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/
我是 Maven 新手,正在尝试了解它是如何工作的。 我知道生命周期由多个阶段组成。阶段称为他们的魔力。如果调用一个阶段,则前面的所有阶段也会执行。例如,当我调用 mvn install 时就会发生这
我想安装Ros(机器人操作系统)的驱动程序,我有两个选项:二进制安装和从源代码编译安装。我想知道哪种安装更好,每种安装有哪些优点和缺点。 最佳答案 源:又称源代码,通常位于某种 tarball 或 z
以及更具体的问题。我的理解对吗: “nuget install”总是安装到您运行它的目录吗? “choco install”安装到特殊的 choco 目录,然后运行脚本在系统中传播它? “nuget
我创建了 Android 项目,但随后我立即得到出现错误的信息。 Warning:(22, 12) Dependency on a support library, but the SDK insta
我的安装程序有 32 位和 64 位版本,它们具有(几乎)完全相同的代码和自定义操作序列(只有与此问题无关的细微差别) 我希望我的安装程序能够检测它之前是否已安装,并在这种情况下运行我自己的代码,而不
我在TFS版本中使用npm install cmd。我总是得到以下警告: npm WARN optional dep failed, continuing fsevents@0.3.1 如何删除此警告
是否可以将install(TARGETS ...)与在add_subdirectory添加的目录中定义的目标一起使用? 我的用例是,我想为gtest构建一个rpm的e.gg。 gtest项目恰好有一个
我需要使用 MSI 创建安装程序,其目的是根据用户的区域(从环境变量读取)调用正确的安装程序。也就是说,这个安装程序应该有 3 个文件(它们本身就是安装程序),一个用于美国,一个用于欧洲,一个用于亚洲
我正在尝试通过 Android Studio 3.5 在我的小米 RedMi S2 上运行我的应用程序。在手机上安装应用程序时抛出错误: Installation did not succeed. T
使用govendor时,go install、govendor install +local和govendor install +vendor,^program有什么区别? govendor inst
我用谷歌搜索了很多,但找不到答案。因此,在 Windows Installer 属性值中可以存储多少个字符。如果你给出答案,你能提供答案的来源吗? 最佳答案 我问 Windows Installer
Cuda v9.0 有几个补丁 我应该安装最新补丁还是安装所有补丁? https://developer.nvidia.com/cuda-90-download-archive?target_os=W
我正在尝试通过它的文档安装 phalcon!在这一步我有一个错误: installation/FreeBSD Command: pkg_add -r phalcon 错误: 'pkg_add' is
我有一个安装,如果应用程序退出,它会升级该应用程序的先前版本。当安装处于升级模式时,我想跳过某些操作。如何确定安装是在升级模式还是首次安装模式下运行? 我正在使用 Wise Installer,但我认
MSI 数据库包含一个表 MsiFileHash 。根据文档MsiFileHash 表用于存储 Windows Installer 包提供的源文件的 128 位哈希。 有人知道使用/应该使用什么哈希算
我尝试在本地和全局运行 npm install browserify (-g) 但我总是遇到以下错误 npm ERR! peerinvalid The package bn.js does not s
我有一个用于我正在构建的 python 模块的 SConstruct 文件: import distutils.sysconfig env = Environment(CPPPATH=['includ
使用 Installshield 2010 和 Basic MSI 项目。 我有一个之前由我的安装程序安装的 exe。该 exe 需要在安装程序升级期间运行。有没有办法保证安装程序不会尝试关闭进程?基
我是围棋初学者。我试图编译一个 go 项目,但找不到任何解释“/...”的文档或文章。 cd ~/src/ephenation-server go install -v ./... 等待您的帮助。 最
我试过在选择和不选择‘安装Mongo指南针’选项的情况下运行安装程序,但我仍然无法安装它,也无法取消安装。然后,此设置对话冻结20-30分钟以上,没有任何进展。这实际上就是从他们的website(ht
我是一名优秀的程序员,十分优秀!