我尝试使用PHP脚本连接到AdSense API。 我开始使用谷歌的这个教程:https://developers.google.com/api-client-library/php/start/get_started#build-the-client-object
但是,我没有设法连接。这就是我尝试过的:
$client = new Google_Client();
$client->setApplicationName("AppName");
$client->setDeveloperKey(API_Key);
$client->setAuthConfigFile('../AdSense/google-api-php-client/client_secret.json');
$service = new Google_Service_AdSenseTest($client);
$results = $service->testReportsGenerate();
foreach($results as $item)
{
echo $item;
}
我遇到了一些问题,主要问题是代码无法识别" Google_Service_AdSenseTest" class - 即使代码建议它。 所以我真正的问题是:如果我想从AdSense提取数据,我应该使用哪种服务?我如何设置所需的参数(意思是 - 要获得哪些维度和指标)?
谢谢。
答案 0 :(得分:-1)
您需要像对每个单独的Google api一样实施OAuth请求(如果使用良好的codeigniter,请使用Phil Sturgeon的OAuth2.0协议,如果实施得当。)或任何oauth2客户端脚本都可以。
google api库在这里:https://github.com/googleapis/google-api-php-client-services。使用composer安装这些库。
adsense类在这里:https://github.com/googleapis/google-api-php-client-services/blob/master/src/Google/Service/AdSense.php
向Google发出请求的类/函数必须设置一个oauth客户端并指定重定向网址(该网址必须在google api控制台上注册)
范围是
../auth/adsense
../ auth / adsense.readonly
一切完成后,您可以提出请求。
我用Codeigniter实现了它的搜索控制台,adsense和其他有用的库,它们都很棒。此外,我还连接了Google表格,因此可以根据需要在Google表格中找到所有报告。
使用oAuth访问令牌,代码:
$client = new Google_Client();
$adsenseService = new Google_Service_AdSense(...);
$client->setApplicationName("Adsense Console");
$client->setDeveloperKey($apiKey);
$client->setAccessToken( $token->access_token );
$params = array('maxResults' => 1000, 'pageToken' => null, 'alt' => 'json', 'fields' => array(), 'prettyPrint' => true, 'quotaUser' => '', 'userIp' => '' );
$accounts = $adsenseService->accounts->listAccounts($params);
//this will print a json array
echo '<pre>' ; print_r($accounts); echo '<pre>'; die();
对于广告客户
$adsense->adclients->listAccountsAdclients($params);
参数引用在这里, https://developers.google.com/adsense/management/v1.4/reference/accounts/adclients/list#try-it
答案 1 :(得分:-6)