我正在使用Ionic 2创建一个应用程序,它将对Facebook API进行一些调用。我按照documentation中的步骤安装了cordova插件cordova-plugin-facebook4。
现在,我正在尝试对用户进行身份验证,但没有成功。我的登录页面:
import {Page} from 'ionic-framework/ionic';
@Page({
templateUrl: 'build/pages/page1/page1.html',
})
export class Page1 {
login() {
facebookConnectPlugin.login(
['email'],
response => {
console.log(response);
},
error => {
console.log(error);
}
);
}
}
当我使用以下命令运行应用程序时:
ionic serve
我在终端中得到以下错误:
当我单击登录按钮时,我在控制台中得到以下错误:
当我试图构建在真实设备上运行的应用程序时,我在控制台中得到了以下错误:
我想我必须导入插件才能使用,但是怎么做呢?
发布于 2016-03-21 14:24:29
尝尝这个。
安装ionic-native npm install ionic-native --save
之后,你需要导入facebook的import {Facebook} from 'ionic-native
‘
你现在可以这样使用你的facebook插件了
fblogin(){
this.platform.ready().then(() => {
Facebook.login(["email"]).then((result) => {
console.log(result)
})
})
}
请确保将每个权限放入数组中的单独字符串中
发布于 2016-03-28 06:10:25
facebookConnectPlugin Cordova插件不能在浏览器上运行,但是如果你尝试在模拟器上运行它,它工作得很好。根据jeduan's repo上的instructions,你可以让它在web应用程序上工作,但我还没有尝试过,因为它对我来说不是必须的。
你可以忽略Cannot find name facebookConnectPlugin
错误,因为它只是TypeScript的抱怨。在Transpiling转到JS之后,它应该会工作得很好。
不确定为什么会出现构建错误。文档有一个主要的遗漏,这可能是原因(请参阅this issue)。你需要传递你的Facebook应用程序ID和应用程序名称(你可以从developer.facebook.com获得)
ionic plugin add cordova-plugin-facebook4 --variable APP_ID="123456789" --variable APP_NAME="myApplication"
对于Android,您还需要生成密钥散列并将其提供给Facebook。如果您使用的是OSX,则可以生成如下所示的密钥散列:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
发布于 2016-03-19 13:20:16
朋友,
我已经做到了这一点,并使其正常工作。您需要向facebook开发人员门户注册您的应用程序,然后添加cordova插件,然后编写代码。这是一个漫长的过程。
此处提供了详细说明- http://tphangout.com/?p=204
希望这对你有帮助,谢谢。
https://stackoverflow.com/questions/35711267
复制