Facebook Phonegap 插件 - 能够登录(似乎)但无法获取访问令牌
Posted
技术标签:
【中文标题】Facebook Phonegap 插件 - 能够登录(似乎)但无法获取访问令牌【英文标题】:Facebook Phonegap plugin - Able to log in (it seems) but cannot get access token 【发布时间】:2014-06-18 12:29:36 【问题描述】:我无法让 phonegap facebook 插件正常工作。做了以下步骤:
我按照https://github.com/phonegap/phonegap-facebook-plugin上的自动安装, 将 facebook-js-jdk 和 cdv-plugin-fb-connect 添加到我的平台/android/assets/www 文件夹 将 config.xml 中的一行替换为 (否则它永远不会起作用)在启动时,我收到“Cordova Facebook Connect 插件在初始化时失败”。除此之外,当我在 logcat 中运行我的(复制和粘贴的)登录功能时,会返回一个登录对象,其中包含我的所有信息(姓名、正确的用户 ID、电子邮件、教育等......),它说“用户取消登录或未完全授权”。奇怪的是,我的 getLoginStatus 函数似乎工作正常,但没有返回访问令牌。当它运行时,它说我已连接到 Facebook,但在 logcat 中我看到“无法读取未定义的属性 'userID'”。
我尝试了java.lang.RuntimeException: Failure delivering result ResultInfo while logging using Facebook 的建议(不要继续进行活动),但没有奏效。任何帮助将不胜感激,我一直在努力让它工作很长时间......我的功能如下:
function testLogin()
FB.login(function(response)
if (response.authResponse)
console.log('Welcome! Fetching your information.... ');
FB.api('/me', function(response)
console.log('Good to see you, ' + response.name + '.');
FB.logout(function(response)
console.log('Logged out.');
);
);
else
console.log('User cancelled login or did not fully authorize.');
, scope: 'email');
function getLoginStatus()
FB.getLoginStatus(function(response)
if (response.status == 'connected')
alert('You are connected to Fb');
var fbid = response.authResponse.userID;
var token = response.authResponse.accessToken;
//console.log(response.authResponse.userID);
//console.log(response.authResponse.accessToken);
alert(response);
else
alert('not connected to FB');
);
function logout()
FB.logout(function(response)
alert('logged out');
);
【问题讨论】:
我不久前就想到了这一点,但也许应该发布只是为了提供帮助。我认为这是 ConnectPlugin.java 文件的问题,因为一旦我用旧版本替换它(我认为是从 2014 年 2 月或 2014 年 3 月开始,而不是 4 月),我设法让事情正常进行。 【参考方案1】:命名空间已更改。而不是使用:
FB.login(...
你应该使用:
facebookConnectPlugin.login(...
并在别处将 FB 替换为 facebookConnectPlugin。 阅读 https://github.com/phonegap/phonegap-facebook-plugin 上的 read me.md,它可能会帮助您保持一切都是最新的;)
【讨论】:
我阅读了该内容并发布在其中一个问题中,但据我所知,当时我认为没有解决方法。他们说FB方法暂时不会被弃用,所以我就保留了它。 现在只是 Facebook,而不是 facebookConnectPlugin以上是关于Facebook Phonegap 插件 - 能够登录(似乎)但无法获取访问令牌的主要内容,如果未能解决你的问题,请参考以下文章
Phonegap + Facebook 插件:为 iOs 准备的 Xcodeproj 包
Phonegap 安装 facebook 插件错误 - facebookconnect.xml 已存在
Phonegap 构建 facebook 连接插件 (android)