1

Goog day. Когда я пытаюсь получить пользовательские размеры с помощью API, я получил ошибкуПроблемы при получении пользовательских измерений через API из Google Analytics

Exception 'Google_Service_Exception' с сообщением 'ошибка при вызове GET https://www.googleapis.com/analytics/v3/management/accounts/~all/webproperties/~all/customDimensions: (400) Не можете запросить по ~ все для ид webPropertyId'

Мой код

$service_account_name = '<Service Email>@developer.gserviceaccount.com'; 
$key_file_location = '<keyName>.p12'; 
$key = file_get_contents($key_file_location); 
$cred = new Google_Auth_AssertionCredentials(
    $service_account_name, 
    array(Google_Service_Analytics::ANALYTICS), 
    $key, 
    'notasecret', 
    'http://oauth.net/grant_type/jwt/1.0/bearer', 
    '<My email>' 
); 
$client->getAuth()->setAssertionCredentials($cred); 
$service = new Google_Service_Analytics($client); 
$result = $service->management_customDimensions->listManagementCustomDimensions('~all', '~all'); 
print_r($result); 

Аналогичный код для получения целей работает правильно

$service_account_name = '<Service Email>@developer.gserviceaccount.com'; 
$key_file_location = '<keyName>.p12'; 
$key = file_get_contents($key_file_location); 
$cred = new Google_Auth_AssertionCredentials(
    $service_account_name, 
    array(Google_Service_Analytics::ANALYTICS), 
    $key, 
    'notasecret', 
    'http://oauth.net/grant_type/jwt/1.0/bearer', 
    '<My email>' 
); 
$client->getAuth()->setAssertionCredentials($cred); 
$service = new Google_Service_Analytics($client); 
$result = $service->management_profiles->listManagementProfiles('~all', '~all'); 
print_r($result); 

Оба метода listManagementProfiles и listManagementProfiles получают параметры $ accountId и $ webPropertyId. Может ли кто-нибудь помочь, почему я получаю ошибку, получая пользовательские размеры через API?

+0

примечания для других призывающего 'listManagementProfiles' с Параметр '~ all'. Если вам нужен список всех учетных записей, свойств и представлений, вы должны вызвать [Сводные отчеты] (https://developers.google.com/analytics/devguides/config/mgmt/v3/mgmtReference/management/accountSummaries/list). – Matt

ответ

1

Глядя на документации "~all" является specifically mentioned as valid parameter value for listManagementProfiles:

ID счета для представления (профили) для извлечения. Может быть либо конкретным идентификатором учетной записи , либо «~ all», который относится ко всем учетным записям к , к которым у пользователя есть доступ.

но не для listManagementCustomDimensions, здесь просто говорит

ID счета для пользовательских размеров для извлечения.

(такой же для свойства id). Таким образом, ваша проблема в буквальном смысле говорит об ошибке, вы не можете использовать "~all" при запросе пользовательских измерений.

Таким образом, кажется, что перечислить все пользовательские размеры вы должны перебирать список идентификаторов свойств (возвращенный методом properties/list) вместо использования "~all".

+0

Спасибо, он отлично работает, когда я вызываю метод с propertyID. – andynador

Смежные вопросы