1

MongodbのStitchサービスを使用しようとしています。MongoDB に接続しようとすると、次のエラーが表示されます。

パイプライン com.mongodb.stitch.android.StitchException$StitchServiceException の実行中にエラーが発生しました: MongoDB サービス クラスターへの接続中にエラーが発生しました: サーバーが SASL 認証ステップでエラーを返しました: 認証に失敗しました。

この質問はすでに見ましたが、ここでは認証にログインとパスワードを使用していましたが、私はログインに使用FacebookAuthProviderしています。bad authユーザーのFacebookデータをはっきりと見ることができるので、問題はないはずです。

これは私が同じために使用したコードです。

        stitchClient = new StitchClient(getApplicationContext(), "user-recognition-tgnek");
        mongoClient = new MongoClient(stitchClient, "mongodb-atlas");
        db = mongoClient.getDatabase("<DatabaseName>");

        FacebookAuthProvider fbProvider = FacebookAuthProvider.fromAccessToken(AccessToken.getCurrentAccessToken().getToken());
        stitchClient.logInWithProvider(fbProvider).continueWithTask(new Continuation<String, Task<Void>>() {
            @Override
            public Task<Void> then(@NonNull Task<String> task) throws Exception {
                final Document updateDoc = new Document(
                        "owner_id",
                        task.getResult()
                );
                updateDoc.put("Name", "Deepanshu Luhach");
                return db.getCollection("Users").updateOne(null, updateDoc, true);
            }
        }).continueWithTask(new Continuation<Void, Task<List<Document>>>() {
            @Override
            public Task<List<Document>> then(@NonNull Task<Void> task) throws Exception {
                if (!task.isSuccessful()) {
                    throw task.getException();
                }
                return db.getCollection("Users").find(
                        new Document("owner_id", stitchClient.getUserId()),
                        100
                );
            }
        }).addOnCompleteListener(new OnCompleteListener<List<Document>>() {
            @Override
            public void onComplete(@NonNull Task<List<Document>> task) {
                if (task.isSuccessful()) {
                    Log.d("STITCH", task.getResult().toString());
                    return;
                }
                Log.e("STITCH", task.getException().toString());
            }
        });

これは完全な Logcat です。

12-23 23:21:30.691 7086-7119/com.example.nwagh.myapplication E/Volley: [4067] BasicNetwork.performRequest: https://stitch.mongodb.com/api/client/v1の予期しない応答コード 502 .0/app/ユーザー認識-tgnek/パイプライン 12-23 23:21:30.705 7086-7086/com.example.nwagh.myapplication E/Stitch: パイプラインの実行中にエラーが発生しました com.mongodb.stitch.android.StitchException$StitchServiceException: MongoDB サービス クラスターへの接続中にエラーが発生しました: サーバーがエラーを返しましたSASL 認証ステップ: 不正な認証 認証に失敗しました。com.mongodb.stitch.android.StitchError.a(SourceFile:53) で com.mongodb.stitch.android.StitchClient$10.onErrorResponse(SourceFile:754) で com.android.volley.Request.deliverError(Request.java:

この問題で私を助けてください、私はこれに関連するものを見つけることができません.

4

2 に答える 2