3

추적 코드를 동적으로 만들 수 있도록 웹 속성을 삽입하는 방법에 대한 문서를 참조하십시오. 목표는 Google 애널리틱스 &에서 Google 애널리틱스를 분석에서 자동으로 Google 웹 로그 분석 계정으로 생성하는 것입니다. 온라인에서 찾을 수있는 것이 거의 없으면이 기능이 허용 목록에 포함 된 것처럼 보입니다. 그래서 나는이 질문을 날씨를 알아 내기 위해 만들고 있습니다. 그렇지 않은 경우입니다. 설명서는 알아 내기가 어렵습니다. 왜냐하면 어떤 필드가 필요한지, 필드가 무엇을 의미하는지 등을 알려주지 않기 때문입니다. 또한 문서가 PHP 라이브러리로 구식 인 것처럼 보입니다. 예제 코드 클래스 이름을 & 메소드 이름으로 바꿔야 만 "작동"할 수있었습니다.(403) 프로젝트에이 기능이 없습니다.

다음은이 기능을 테스트하는 데 사용하는 코드 단편입니다.

<?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(); 
    } 
} 

예외는 무엇입니까?

+0

API 탐색기로 게임 해 보셨습니까? https://developers.google.com/analytics/devguides/config/mgmt/v3/mgmtReference/management/webproperties/insert#try-it PHP에 대한 설명서가 만료되었습니다. 새로운 것이 작동합니다. – DaImTo

+0

그래, 필자는 작성한 링크를 따라 작성해야 할 필드를 알려주었습니다. 자신의 테스트 도구를 사용하여 "500 Backend error"메시지를 받거나 내가 직접 호출하면 얻을 수 있습니다. 나는 벌칙을 받고 있는데 매개 변수가 빠져 있거나 잘못 작성하고 있습니다. –

+1

삽입 사용자와 동일한 문제가있어서 결코 작동하지 못했습니다. 저는 이것이 우리가 보낼 필요가있는 것을 정확히 알아 내기 전까지는 API 탐색기를 가지고 노는 경우가 될 것이라고 생각합니다. – DaImTo

답변

9

쓰기 작업은 아직 베타 버전입니다. 이 기능에 액세스하려면 먼저 베타에 대한 액세스 권한을 요청해야합니다. 웹 속성보기 (프로필) 및 목표 자원에 대한 관리 API에

쓰기 작업 (예를 들어, 삭제, 패치를 만들고 업데이트) 제한된 베타의 개발자 프리뷰로 현재 입니다. 이 기능을 사용하고자하는 사용자가 인 경우 request access to the beta입니다.

업데이트 : 승인을 얻는 데 약 3 주가 소요됩니다. 승인되면 Google에서 베타 테스트 그룹에 가입 할 것을 요청하는 이메일을 받게됩니다.

+0

와 함께 반환 메시지로! 업데이트 주셔서 감사합니다. :). 승인 기간에 대해 언급 한 부분을 알려 주시기 바랍니다. –

+0

약 3 주 후에 신청하여 승인을 받았습니다. 그게 내가 아는 전부 야. 매우 베타 테스트 그룹 tbh에서 꽤. 서두르다면 Google 개발자 커뮤니티에 google + 커뮤니티에 게시하고 게시 할 수 있습니다. 그들은 빨리 액세스 할 수 있도록 도와 줄 수 있습니다. 하지만 약속 할 수있는 것은 없습니다 https://plus.google.com/u/0/communities/110103497213687093818 – DaImTo

+0

아 .. 그게 슬픈 일입니다. 나는 과정을 가속화하기 위해 어떻게 든 이메일을 보낼 수 있는지 궁금해하고 있었다. 신경 쓰지 마. 답변을 주셔서 감사 드리며 후속 조치에 감사드립니다. –