Я работал над сценарием автоматизации для загрузки отчетов AdSense (AdMob), у меня был целый сценарий, который использовал пользовательские прямые http-вызовы API, однако при анализе кода ошибки я узнал, что API службы Рабочие учетные записи не могут получить доступ к «личным» данным, которые, по-видимому, являются отчетами. Каков наилучший способ автоматизации загрузки или отчетов без вмешательства человека (или почти никогда)? Я проверил документацию для библиотеки php api, которую поставляет Google, но API устарел - последнее обновление было 5 лет назад.
https://developers.google.com/adsense/management/
если вы идете в клиентские библиотеки-> узнать больше -> PHP -> просмотреть примеры.
Существует ли какая-либо новая и все еще релевантная информация, которую я мог бы использовать для выполнения своей задачи здесь?
Обновление.
Используя этот код для генерации отчета:
<?php
require_once 'vendor/autoload.php';
$client = new Google_Client();
$client->setAuthConfig('oauth_client.json');
$client->setAccessType("offline"); // offline access
$client->setIncludeGrantedScopes(true); // incremental auth
$client->addScope("https://www.googleapis.com/auth/adsense");
$client->setRedirectUri('http://' . $_SERVER['HTTP_HOST'] . '/go');
$auth_url = $client->createAuthUrl();
if( isset($_GET['code']) ){
$code=$_GET['code'];
}else{
$code=null;
}
if(!$code){
header('Location: ' . filter_var($auth_url, FILTER_SANITIZE_URL));
}else{
$client->authenticate($code);
$access_token = $client->getAccessToken();
$client->setAccessToken($access_token);
$adsense = new Google_Service_Adsense($client);
$reports = $adsense->reports;
$csv = $reports->generate('2018-08-01','2018-08-05',array("metric" => ["VIEWED_IMPRESSIONS","CLICKS","EARNINGS"],"dimension"=>["DATE", "COUNTRY_CODE","APP_NAME"],"currency"=>"EUR"));
}
Код работает как есть, однако, если я добавлю параметр «alt» => «csv»:
$csv = $reports->generate('2018-08-01','2018-08-05',array("metric" => ["VIEWED_IMPRESSIONS","CLICKS","EARNINGS"],"dimension"=>["DATE", "COUNTRY_CODE","APP_NAME"],"currency"=>"EUR",'alt' =>'csv'));
результат "пусто":
Google_Service_AdSense_AdsenseReportsGenerateResponse Object
(
[collection_key:protected] => warnings
[averages] =>
[endDate] =>
[headersType:protected] => Google_Service_AdSense_AdsenseReportsGenerateResponseHeaders
[headersDataType:protected] => array
[kind] =>
[rows] =>
[startDate] =>
[totalMatchedRows] =>
[totals] =>
[warnings] =>
[internal_gapi_mappings:protected] => Array
(
)
[modelData:protected] => Array
(
)
[processed:protected] => Array
(
)
)
Я знаю о дезинфекции, не ругайте меня слишком много об этом, я хочу, чтобы это сначала заработало. Как добавить параметры alt = media и alt = csv?