AngularFire firestore не получает sh письменный документ - PullRequest
0 голосов
/ 12 июля 2020

У меня есть облачные функции, которые записывают пользовательский документ, например токен доступа. Затем, после того, как эта функция вызывается и ожидает, я получаю доступ к чтению документа.

Облачная функция записывает документ следующим образом:

    await admin.firestore().collection('garminHealthAPITokens').doc(userID).set({

    oauthToken: urlParams.get('oauth_token'),
    oauthTokenSecret: urlParams.get('oauth_token_secret'),
    state: crypto.randomBytes(20).toString('hex')
  })

  // Send the response wit hte prepeared stuff to the client and let him handle the state etc
  res.send({
    redirect_url: REQUEST_TOKEN_CONFIRMATION_URI,
  })

Вот часть кода на стороне клиента, которая:

const redirectURI = await this.userService.getCurrentUserGarminHealthAPIRedirectURI(); // Function updates token
              // This doesn't return the written token of the above but rather an older (prev) one
              const token = await this.userService.getGarminHealthAPITokenAsPromise(this.user);
    

Вот как я вызываю документ AngularFire получает

public async getGarminHealthAPITokenAsPromise(user: User): Promise<{oauthToken: string, oauthTokenSecret: string, state: string}> {
    return this.afs
      .collection('garminHealthAPITokens')
      .doc(user.uid)
      .get({source: 'server'})
      .pipe(catchError(error => {
        return [];
      }))
      .pipe(take(1))
      .pipe(map((doc) => doc.data()))
      .toPromise();
  }

Там явно получено с сервера, но результаты не очень sh

Что мне не хватает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...