我正在使用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
我在终端中收到以下错误:
当我点击登录按钮时,我在控制台中收到以下错误:
当我尝试构建应用程序以在真实设备上运行时,我在控制台中收到以下错误:
我想我必须导入插件才能使用,但是如何?
答案 0 :(得分:3)
试试这个。
安装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)
})
})
}
确保将每个权限放入数组
中的单独字符串中答案 1 :(得分:2)
facebookConnectPlugin Cordova插件在浏览器上不起作用,但如果您尝试在模拟器上运行它,它可以正常工作。根据jeduan's repo的instructions,您可以将其用于网络应用,但我还没有尝试过,因为它对我来说不是必需品。
您可以忽略Cannot find name facebookConnectPlugin
错误,因为它只是TypeScript抱怨。在Transpiling to 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
答案 2 :(得分:1)
友
我已经完成了这项工作并且正常运作。您需要在Facebook开发人员门户网站注册您的应用程序,然后添加cordova插件,然后编写代码。这是一个漫长的过程。
此处提供的详细说明 - http://tphangout.com/?p=204
希望这对你有所帮助,谢谢。