一直在跟踪关于如何插入webproperties的文档,以便我可以动态地创建跟踪代码。目标是将我们的分析移到Google中&在分析下自动创建用户在自己的google帐户上的网站。在我在网上几乎没有发现的东西之后,这个功能似乎已经被白化了。所以我提出这个问题是为了弄清楚天气情况。文档很难弄清楚,因为它没有告诉您需要哪些字段,字段意味着什么等等。对于PHP库来说,文档似乎已经过时了。必须更改大量的示例代码类名和方法名称,才能使其“工作”。
下面是我用来测试这个特性的代码片段。
<?php
require_once 'Google/Client.php';
require_once 'Google/Service/Analytics.php';
require_once 'Google/Service/Oauth2.php';
session_start();
$client = new Google_Client();
$client->setClientId('xxxxx');
$client->setClientSecret('xxxxxx');
$client->setRedirectUri('xxxxxxxx');
$client->setDeveloperKey('xxxxxxx');
$client->setScopes(
array(
'https://www.googleapis.com/auth/analytics.readonly',
'https://www.googleapis.com/auth/analytics',
'https://www.googleapis.com/auth/userinfo.profile',
'https://www.googleapis.com/auth/analytics.edit',
'https://www.googleapis.com/auth/analytics.manage.users'
)
);
$oauth2 = new Google_Service_Oauth2($client);
if (isset($_GET['code'])) {
$client->authenticate($_GET['code']);
$_SESSION['access_token'] = $client->getAccessToken();
$redirect = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
header('Location: ' . filter_var($redirect, FILTER_SANITIZE_URL));
}
if (isset($_REQUEST['logout'])) {
unset($_SESSION['access_token']);
}
if (isset($_SESSION['access_token']) && $_SESSION['access_token']) {
$client->setAccessToken($_SESSION['access_token']);
}
if (!$client->getAccessToken()) {
$authUrl = $client->createAuthUrl();
print "<a class='login' href='$authUrl'>Connect Me!</a>";
} else {
$analytics = new Google_Service_Analytics($client);
try {
$user = $oauth2->userinfo->get();
$permission = new Google_Service_Analytics_WebpropertyPermissions();
$permission->setEffective(array('EDIT', 'VIEW'));
$trackingObject = new Google_Service_Analytics_Webproperty();
$trackingObject->setAccountId($user['id']);
//$trackingObject->setDefaultProfileId($user['id']);
$trackingObject->setId('UA-xxxxx-1');
$trackingObject->setPermissions($permission);
$trackingObject->setIndustryVertical('INTERNET_AND_TELECOM');
$trackingObject->setLevel('STANDARD');
$trackingObject->setName('xxxxxx');
$trackingObject->setWebsiteUrl('xxxxxx');
$analytics->management_webproperties->insert($user['id'], $trackingObject);
$accounts = $analytics->management_accounts->listManagementAccounts();
echo '<pre>'; print_r($user); echo '</pre>';
echo '<pre>'; print_r($accounts); echo '</pre>';
die();
} catch (apiServiceException $e) {
// Error from the API.
print 'There was an API error : ' . $e->getCode() . ' : ' . $e->getMessage();
} catch (Exception $e) {
print 'There was a general error : ' . $e->getMessage();
}
}
我得到的例外是标题包含了什么。
发布于 2014-05-15 19:17:32
写操作仍处于测试阶段。在访问此功能之前,您需要请求对beta版本的访问。
在Management中为Web属性、View (配置文件)和目标资源编写操作(例如创建、更新、删除、修补程序),目前可作为开发人员的有限测试版预览。如果您有兴趣使用这些特性,请求访问测试版。
更新:需要大约3周的时间才能获得批准。当你被批准后,你将收到一封来自谷歌的电子邮件,邀请你加入测试版测试组。
https://stackoverflow.com/questions/22682554
复制相似问题