Google Cloud Functions Analytics API - 删除用户 OAuth2

Google Cloud Functions Analytics API - Delete User OAuth2

需要一些帮助,拜托。

我有一个云函数可以从 Google Analytics 中删除用户数据,当我从后端发送带有删除请求的 Pub/Sub 消息时会触发此函数。我正在使用 Google Analytics API,它已在我的 Google Cloud Console 上激活。

我按照这个文档:https://developers.google.com/analytics/devguides/config/userdeletion/v3,但是我没有通过云功能删除用户成功。

云函数:


function deleteGArecord(userObject) {

  const options = {
    method: "POST",
    url: "https://www.googleapis.com/analytics/v3/userDeletion/userDeletionRequests:upsert",
    headers: {
      //"Content-Type": "application/json",
    },
    body: JSON.stringify({
      kind: "analytics#userDeletionRequest",
      id: {
        type: "CLIENT_ID",
        userId: userObject.clientId,
      },
      webPropertyId: "UA-111111-000",
    }),
  };
  request(options, function (error, response) {
    if (error) {
      console.log(error);
    }
    console.log("ga user delete request:" + JSON.stringify(response));
  });
}

我尝试了什么:

  1. 创建 OAuth 客户端 ID - 应用程序类型 web。
  2. 在我的分析中添加了这个客户端 属性。
  3. 发送删除请求时调用该函数。

云功能日志:

"statusCode":401,"body":"{\n \"error\": {\n \"code\": 401,\n \"message\": \"Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.\",\n \"errors\": [\n {\n \"message\": \"Login Required.

我如何验证我的云功能才能发送此点击。我已经创建了用户并且正在从同一个项目中调用此函数 ClientId 是...

提前致谢!

Request is missing required authentication credential.

您缺少授权 header。您将需要一个包含具有正确授权范围的访问令牌的不记名令牌

User Deletion API

需要以下范围的授权

一旦您获得授权,您就可以查看类似内容。

const options = {
    method: "POST",
    url: "https://www.googleapis.com/analytics/v3/userDeletion/userDeletionRequests:upsert",
    headers: {
      "Authorization": "Bearer " + access_token,
    },

问题将是如何让云函数授权给 google api。