2

私は、Cloud Endpoints FrameworkをバックエンドAPIに使用するAndroidアプリを作成しています。私は、App Engine開発サーバーを使ってバックエンドをテストしています。バックエンド機能の一つで、私はFirestoreデータベースから文書を取得するための呼び出しをしようが、私はこのエラーを取得:GAE開発サーバーからFirestoreを使用している場合のUNAUTHENTICATED例外

com.google.api.server.spi.SystemService invokeServiceMethod SEVERE: exception occurred while calling backend method java.util.concurrent.ExecutionException: io.grpc.StatusRuntimeException: UNAUTHENTICATED at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:500) at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:479) at com.google.api.core.AbstractApiFuture.get(AbstractApiFuture.java:57) ...

私は適切にサービスアカウントを設定していると信じています。環境変数GOOGL_APPLICATION_CREDENTIALSをサービスアカウントキーのパスに設定しました。私はまた、Firestoreをインスタンス化して呼び出すためのガイドを次のようだ:

​​

は、私はGAEからFirestoreを呼び出すことができるようにここに欠けている何かがありますか?

+1

私のチームと私は同じ問題を抱えていますが、私たちは、Firebase Firebaseを使ってプロジェクト用にサーバーとAndroidアプリを使用しています。あなたは解決策を見つけるために何らかの進歩をしましたか? –

答えて

1

この問題でしばらくの間戦った後、私は偶然一時的な回避策を見つけました。 dbが実際にまだ認証されておらず、要求メタデータを取得するためにサービスを取得した後にコールを追加すると、認証がトリガーされるようです...

Firestore db = firestoreOptions.getService(); 

try { 
    // somehow without this it does not work on the local server 
    db.getOptions().getCredentials().getRequestMetadata(); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 

... // db access works on local server! 
関連する問題