【问题标题】:Using Google People API with Cloud Functions for Firebase将 Google People API 与 Cloud Functions for Firebase 结合使用
【发布时间】:2017-09-19 01:49:44
【问题描述】:

我正在尝试使用 Cloud Functions for Firebase 从 Google People API 获取联系人列表,但我只得到一个空对象作为响应。有什么想法吗? Cloud Functions 代码如下:

var functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);

var google = require('googleapis');
var people = google.people('v1');

exports.contacts = functions.https.onRequest((request, response) => {
  admin.database().ref('/settings/contacts/credentials/serviceAccount').once("value", function(data) {
    var authClient = new google.auth.JWT(
      data.child('clientEmail').val(),
      null,
      data.child('privateKey').val(),
      ['https://www.googleapis.com/auth/contacts'],
      null
    );

    authClient.authorize(function (err, tokens) {
      if (err) {
        console.error(err);
        response.end();
        return;
      }

      // Make an authorized request to list contacts.
      people.people.connections.list({auth: authClient, resourceName: 'people/me'}, function(err, resp) {
        if (err) {
          console.error(err);
          response.end();
          return;
        }

        console.log("Success");
        console.log(resp);
        response.send(resp);
      });

    });
  });

});

在 Firebase 控制台日志中,成功消息与空 JSON 对象一起打印。似乎授权成功,所以不太确定发生了什么。任何帮助将不胜感激。

【问题讨论】:

    标签: node.js firebase google-cloud-functions google-people-api


    【解决方案1】:

    尝试将 api 调用包装在 Promise 中。在我用承诺包装我的问题之前,我遇到了类似的问题。同样在链接到此处的特定示例中,我需要使用 response.data 而不是 response.labels 与 promise 的 resolve 部分。 console.log() 将是你最好的朋友。

    https://cloud.google.com/community/tutorials/cloud-functions-oauth-gmail

    https://github.com/GoogleCloudPlatform/community/blob/master/tutorials/cloud-functions-oauth-gmail/index.js

    【讨论】:

      猜你喜欢
      • 2018-01-17
      • 2017-08-12
      • 1970-01-01
      • 1970-01-01
      • 2020-03-15
      • 2019-04-02
      • 2017-09-04
      • 2019-12-30
      • 1970-01-01
      相关资源
      最近更新 更多