我正在尝试在Google Analytics帐户中创建目标。为此,我需要使用insert方法,该方法要求我请求访问beta api。
我已请求访问Google Analytics Beta API(两次),但我仍然收到以下错误:
REST.php第118行中的Google_Service_Exception: {"错误" {"错误":[{"结构域":"全球""理由":& #34; insufficientPermissions""消息":"你的 项目无法访问此项 功能。"}],"代码":403,"消息":"您的项目无法访问 这个功能。"}}
这是我的创建目标代码:
public function createGoal( $brand, $value, $steps = null )
{
$goal = new Google_Service_Analytics_Goal();
$goal->setActive(TRUE);
$goal->setType('URL_DESTINATION');
$goal->setName('Goal conversion count.');
$goal->setValue($value);
$urlDestinationDetails = new Google_Service_Analytics_GoalUrlDestinationDetails();
$urlDestinationDetails->setUrl(trim($steps[count($steps)-1]['url']));
$urlDestinationDetails->setCaseSensitive(False);
$urlDestinationDetails->setMatchType("BEGINS_WITH");
$urlDestinationDetails->setFirstStepRequired(True);
$urlDestinationDetailsStepsArray = [];
foreach ($steps as $step)
{
$urlDestinationDetailsSteps = new Google_Service_Analytics_GoalUrlDestinationDetailsSteps();
$urlDestinationDetailsSteps->setName($step['name']);
$urlDestinationDetailsSteps->setNumber($step['number']);
$urlDestinationDetailsSteps->setUrl(trim($step['url']));
array_push($urlDestinationDetailsStepsArray,$urlDestinationDetailsSteps);
}
$urlDestinationDetails->setSteps($urlDestinationDetailsStepsArray);
$goal->setUrlDestinationDetails($urlDestinationDetails);
try
{
$analytics = new Google_Service_Analytics($this->initializeAnalytics($brand,['https://www.googleapis.com/auth/analytics.readonly','https://www.googleapis.com/auth/analytics.edit']));
var_dump($analytics);
var_dump($goal);
$analytics->management_goals->insert($this->accountId,$this->trackingId,$this->viewId,$goal);
}
catch (apiServiceException $e)
{
print 'There was an Analytics API service error ' . $e->getCode() . ':' . $e->getMessage();
}
catch (apiException $e)
{
print 'There was a general API error ' . $e->getCode() . ':' . $e->getMessage();
}
}
这一行引发错误:
$analytics->management_goals->insert($this->accountId,$this->trackingId,$this->viewId,$goal);
我可以做任何不涉及创建目标的事情,但是一旦我尝试插入(创建)目标,它就会出错。
我查看了google-analytics-api小组,但自2015年以来一直关闭。我不知道还能做些什么。我尝试创建新密钥并再次提交审批但我仍然收到此错误。任何帮助将不胜感激。
答案 0 :(得分:0)
正如您所说,您需要请求访问beta @ https://developers.google.com/analytics/devguides/config/mgmt/v3/account-management#limits。
根据(403) Your project does not have access to this feature,您可能需要多个星期(2年前需要3周),直到您收到确认消息。我猜你有这个消息吗?
在此之后,我会尽量减少代码的可能性并尝试https://developers.google.com/analytics/devguides/config/mgmt/v3/mgmtReference/management/goals/insert#try-it
在Management API中,写操作(例如,创建,更新, 删除和补丁) - 用于Web属性,视图(配置文件)和目标 资源 - 有限测试版。要使用它们,请求访问 公测。如果您尝试使用以下嵌入式API资源管理器进行调用 写操作,你会得到一条错误信息,因为它使用它 自己的项目和证书。要将独立API资源管理器设置为 使用您的项目和凭据来调用它们,请参阅我可以使用我的 使用资源管理器自己的API密钥和/或OAuth 2.0客户端ID。