NodeJS 使用Google Analytics API v3列出网站属性时获取空属性数组

bn31dyow  于 2023-01-25  发布在  Node.js
关注(0)|答案(1)|浏览(120)

我能够成功连接到Google Analytics(GA4),但我收到一个空的属性数组,即使我的Google Analytics帐户是两个属性的管理员,连同我用于验证的服务帐户。我得到的响应是"Google Analytics连接正在工作,您的帐户是:markusets可用属性:[]"。我正在使用v3版本的API,我正在寻找一个能够检索可用属性的解决方案。
当我运行这个NodeJs脚本时:

const { google } = require("googleapis");
const analytics = google.analytics("v3");
const credentials = require("./service-account-credentials.json");

const client = new google.auth.JWT(
  credentials.client_email,
  null,
  credentials.private_key,
  ["https://www.googleapis.com/auth/analytics.readonly"]
);

client.authorize((err) => {
  if (err) {
    console.log(err);
    return;
  }
  //call to get account name
  analytics.management.accounts.list({ auth: client }, (err, result) => {
    if (err) {
      console.log(err);
    } else {
      console.log(
        `Google analytics connection is working and your account is: ${result.data.items[0].name}`
      );
      //call to get properties
      analytics.management.webproperties.list(
        {
          auth: client,
          accountId: "12345678",
        },
        (err, result) => {
          if (err) {
            console.log(err);
          } else {
            console.log(
              `Available properties: ${JSON.stringify(result.data.items)}`
            );
          }
        }
      );
    }
  });
});

我得到:

Google analytics connection is working and your account is: markusets
Available properties: []

到目前为止,我尝试使用服务帐户和Google Analytics API(v3)检索我的Google Analytics帐户的可用属性。我已经验证了我的帐户和服务帐户对这些属性具有管理员权限,并且凭据正确,因为我收到了消息"Google Analytics connection is working and your account is:markusets ",这表明我已成功通过身份验证。但是,当我尝试检索属性时,结果数组为空。我尝试了不同的方法来检索属性,但到目前为止没有一种方法起作用。我正在寻找解决方案或原因,说明尽管身份验证正确,但属性数组为空。

enxuqcxy

enxuqcxy1#

Google Analytics Management API只允许您访问Universal Analytics属性。如果您想列出GA 4属性,您需要使用(仍处于Alpha/Beta版本)Google Analytics Admin API

相关问题