无论如何尝试都无法访问 AdSense API。我已经尝试过服务帐户和OAuth身份验证。
我要完成的工作:
创建一个机器人来获取 Adsense 获得的收入并将其存储在内部数据库中,以便随着时间的推移跟踪收入。我不想有身份验证问题,我想要一个服务器到服务器的配置。
我所知道的是您可以在 OAuth 下拥有访问令牌和刷新令牌。我还不能让它们在任何可用的 Adsense API 下工作。注意:我已经构建了一个 API 来使用 AdWords 没有问题。
错误:(在认证类型之间,我无法通过这些)
“找不到帐户”
“客户端未经授权无法使用此方法检索访问令牌。”
到目前为止我做了什么:
Adsense 管理 API 已启用。
创建的凭据:服务帐户
创建的凭据:oAuth 2.0 客户端 ID
GSuite 帐号可以访问 API(包括“启用的 API 访问”和“托管的 API 客户端访问”)
图书馆(尝试)使用:
https://developers.google.com/api-client-library/php/
https://github.com/google/google-api-php-client
https://github.com/google/google-api-php-client-services
(过时的)https://github.com/googleads/googleads-adsense-examples
示例代码:(使用服务帐户)
$client = new \Google_Client();
$client->setAuthConfig(WRITEPATH . 'auth/adsense-client.json');
$client->setIncludeGrantedScopes(true);
$client->addScope('https://www.googleapis.com/auth/adsense');
$client->setSubject('email@example.com');
// trying to fire the services
$service = new \Google_Service_AdSense($client);
$report = $service->accounts_reports->generate('clientId', $startDate, $endDate, $optParams);
此脚本触发“客户端未经授权无法使用此方法检索访问令牌”。错误信息。但是,正在使用的电子邮件地址能够访问 adsense 帐户,API 已在管理域级别启用和配置。
有没有更简单的方法?有没有人可以带领我走向正确的方向?