2017-04-08 7 views
5

私のアプリにイオンクラウドサービスを追加し、ネイティブFaceBook認証を使いたいと思っています。Ionic/cloud-angular FacebookAuthが空のエラーを返す

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

this.facebookAuth.login() 

私は私のアプリは権限プロファイルおよび電子メールを読むために得ることができるかどうか聞いてFacebookはプロンプトを取得予想通り、Android携帯電話上でこの機能を実行しています。私はYESをクリックすると、関数は空のエラーオブジェクトを返します。

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

Object {} 

を私はFBプロンプトでキャンセルを選択したとき、私はこのエラーオブジェクトを取得しますので、私は、右のそれをキャッチしています確信しています

注:ChromeのリモートWebインスペクタを使用して、完全なコンソールを表示しています。残念ながら、これは実際のデバイスを必要とするため、私はPlunkerできません。しかし、私は誰かがなぜこのようなことが起こるか考えていることを願っています。 FB開発者の設定、ハッシュ、ionic.ioの設定など、すべてtheseの手順に従っています。

+0

あなたはこれを使用していますか? https://ionicframework.com/docs/native/facebook/ – Sampath

+0

実際には若干の違いがありますが、私はイオンクラウドサービスにこのサービスを使用しようとしていますが、全体的な手順は似ています。 https://docs.ionic.io/services/auth/facebook-native.html –

答えて

1

[OK]を、それは非常に愚かだが、最初の根本的な原因は、私が使ってログインしようとしていたFBのユーザーがテスターとして登録されていなかったということでした。明らかにその場合、プラグインによって空のエラーが返されます。

テスターとして追加した後、私は本当のエラーを受けました(Andoirdマニフェストはインターネットアクセスを許可していません)。その問題を修正した後、再び空のエラーが発生します。

FBによって返されたエラーの一部がプラグインによってうまく伝達されないため、他のFBエラーが原因でこの問題が発生する可能性があります。

更新23/04:FB側からの変更があるようですが、FBログイン画面は成功しませんでしたが、ハッシングキーに関するエラーが発生しました。この問題を修正した後は、FBログインが動作しています。

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

丁寧な例をありがとう! –

+0

画面キャプチャでは、FBプロンプトのみが表示されます。私はこれを(ネイティブのものでも)得るのですが、そこからエラーが出るように進むときです –

+0

私の電子メールとパスワードで完全に正常に動作しています。私はここにメールとパスワードを表示する必要はありません。さらに進む。 – Sampath

関連する問題