离子/云角FacebookAuth给出空错误

时间:2017-04-08 14:10:33

标签: facebook angular ionic-framework ionic2

我已将离子云服务添加到我的应用中,并希望使用原生FaceBook身份验证。

import { FacebookAuth } from '@ionic/cloud-angular';

this.facebookAuth.login()

在Android手机上运行此功能时,正如预期的那样,我得到Facebook提示,询问我的应用是否可以获得阅读个人资料和电子邮件的权限。当我单击YES时,该函数返回一个空的ERROR对象:

Object {}

我确定我正确抓住它,因为当我在FB提示符上选择CANCEL时,我收到此错误对象:

Object {errorCode: "4201", errorMessage: "User cancelled dialog"}

注意:我在chrome中使用远程Web检查器来查看完整的控制台。不幸的是,因为这需要一个真正的设备我不能偷看这个。但是,我希望有人知道为什么会这样。我已经遵循了所有these步骤,包括FB开发人员设置,哈希和ionic.io设置。

2 个答案:

答案 0 :(得分:1)

我已经做到了,它在真实设备上正常工作。如果您有任何疑问,请在下方发表评论。

播放 Git Repo

enter image description here

<强> app.module.ts

import { CloudSettings, CloudModule } from '@ionic/cloud-angular';

const cloudSettings: CloudSettings = {
  'core': {
    'app_id': 'd32c02d2'
  },
  'auth': {
    'facebook': {
      'scope': ['public_profile', 'email']
    }
  }
};

@NgModule({
  declarations: [
   ],
  imports: [
    CloudModule.forRoot(cloudSettings)
  ],
  bootstrap: [IonicApp],
  entryComponents: [
   ],
  providers: [

  ]
})
export class AppModule { }

<强> home.html的

 <button ion-button block type="button" (click)="fbLogin()">Fb Login</button>

<强> home.ts

import { Component } from '@angular/core';
import { FacebookAuth, User } from '@ionic/cloud-angular';


@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {

  constructor(public facebookAuth: FacebookAuth, public user: User) {

  }

  fbLogin() {
    this.facebookAuth.login();
  }

}

答案 1 :(得分:1)

好吧,这很愚蠢,但第一个根本原因是我试图登录的FB用户没有注册为测试人员。显然,在这种情况下,插件会返回一个空错误。

作为测试人员添加后,我收到了一个真正的错误(Andoird manifest dod不允许上网)。在解决了这个问题之后,我又一次出现了一个空错误。

所以我的假设是FB返回的一些错误没有被插件很好地传达,因此任何其他FB错误都可能导致这个问题。

更新23/04:FB方面似乎有变化,现在FB登录屏幕没有成功,但是给出了关于散列键的错误。修复该问题后,FB登录现在正在运行。

相关问题