Node.js 无法访问 Google AdSense 管理 API。 'user does not have adsense account'

Node.js cannot access Google AdSense Management API. 'user does not have adsense account'

我正在尝试为 node.js 上托管的网络应用程序生成 AdSense 报告。 由于它是服务器到服务器的通信,我需要使用服务帐户。 我遵循了 this 指南,但我总是收到错误消息:

{
 domain: "global"
 message: "User does not have an AdSense account."
 reason: "noAdSenseAccount"
}

也试过 this JSON Web Tokens Guide 但也遇到了上面的错误。

我得到了什么:

screenshot

注意: 它的状态停留在 "pending"。

这是我尝试连接和检索数据的代码:

const googleAuth = require('google-auth-library');
const GOOGLE_KEYS = require(path.join(__dirname, '/credentials/jwt.keys.json'));

this.jwtClient = new googleAuth.JWT(
  GOOGLE_KEYS.client_email,
  null,
  GOOGLE_KEYS.private_key,
  ['https://www.googleapis.com/auth/adsense'],
);
this.jwtClient.authorize(async (err: any, tokens: any) => {
  if (err) throw new Error(err);
  this.jwtClient.setCredentials(tokens);
  const url = `https://www.googleapis.com/adsense/v1.4/accounts`;
  const listData = await this.jwtClient.request({url})
    .catch((err: any) => {
      console.log(err, 'error');
      res.status(500).json(err)
     });
  res.status(200).json(data);
});

我的问题是:
1、为什么卡在"pending"状态?
2. 有没有办法使用服务帐户凭据访问 API?
3.如果是,我可以通过哪种方式实现?

AdSense API 不支持服务帐户[1], so you'll need to make OAuth credentials using the Web App flow[2]。