通过PHP

时间:2016-04-24 08:57:49

标签: php adsense adsense-api

我尝试使用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提取数据,我应该使用哪种服务?我如何设置所需的参数(意思是 - 要获得哪些维度和指标)?

谢谢。

2 个答案:

答案 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)