创建Google Analytics目标403错误消息:您的项目无权访问此功能

时间:2017-02-06 18:43:44

标签: php google-analytics google-analytics-api http-status-code-403

我正在尝试在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年以来一直关闭。我不知道还能做些什么。我尝试创建新密钥并再次提交审批但我仍然收到此错误。任何帮助将不胜感激。

1 个答案:

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