Я разрабатываю приложение, которое позволяет пользователям просматривать мои собственные данные Google Analytics с помощью Google API v3. Все, что я исследовал, похоже, указывает, что пользователям необходимо войти в свои учетные записи Google и предоставить моему приложению доступ, прежде чем я могу начать запрашивать API; однако, это не то, что я хочу, мне просто нужны мои пользователи для просмотра моих собственных данных Analytics. Как разрешить API доступ к моим данным. У меня есть идентификатор клиента и клиентский секрет, но OAuth, реализованный API Google v3, запрашивает токен авторизации, который может быть получен только путем подключения пользователя к учетной записи google (правильно?) Есть ли способ войти в мою учетную запись Google Analytics и отобразить эту информацию для пользователей?Google Analytics API v3 авторизация для доступа к моим данным
ответ
Вы можете использовать refresh token
для автономного доступа. Как только вы получите refresh token
, вы можете сохранить его в файле или базе данных и использовать для доступа к данным без перенаправления авторизации.
См. Using a Refresh Token в документах.
Также смотрите: How can we access specific Google Analytics account data using API?
Я думаю, что для более надежного решения вы должны пойти с ответом на учетную запись службы – mattl
@mattl Я не думаю, что это причина для голосования. Ответ не является неправильным, это всего лишь один из вариантов, предлагаемых Google. –
Ты прав, мне очень жаль. Я не могу изменить его сейчас, поскольку прошло более 20 часов. Мог бы кто-то еще подняться снова. – mattl
Я считаю, что вы хотите сделать, это создать учетную запись службы: https://developers.google.com/analytics/devguides/config/mgmt/v3/mgmtAuthorization
«Полезна для автоматизированного/автономного/запланированного доступа к данным Google Analytics для например, создать собственную панель мониторинга собственных данных Google Analytics и поделиться ею с другими пользователями.
Есть несколько шагов, которые необходимо выполнить для чтобы настроить учетные записи служб для работы с Google Analytics:
- Зарегистрируйте проект в API-интерфейсе.
- В консоли API Google в области доступа API создайте идентификатор клиента с типом приложения, установленным для учетной записи службы.
- Войдите в Google Analytics и перейдите в раздел администратора.
- Выберите учетную запись, для которой приложение должно иметь доступ .
- Добавьте адрес электронной почты от идентификатора клиента, созданного в API-интерфейсах Консоль с шага №2, в качестве пользователя выбранной учетной записи Google Analytics .
- Следуйте инструкции для учетных записей служб для доступа к данным Google Analytics: https://developers.google.com/accounts/docs/OAuth2ServiceAccount "
Вот полный Google Analytics отчетности примера реализации с учетной записью службы, включая настройки заметки Просто написал после прочтения вашего вопроса, я. была такая же проблема.
<?php
// Service account code from http://stackoverflow.com/questions/18258593/using-a-service-account-getaccesstoken-is-returning-null
// Analytics code from https://code.google.com/p/google-api-php-client/source/browse/trunk/examples/analytics/simple.php?r=474
require_once 'google-api-php-client/src/Google_Client.php';
require_once 'google-api-php-client/src/contrib/Google_AnalyticsService.php';
// Set your client id, service account name (AKA "EMAIL ADDRESS"), and the path to your private key.
// For more information about obtaining these keys, visit:
// https://developers.google.com/console/help/#service_accounts
const CLIENT_ID = 'CLIENT ID';
const SERVICE_ACCOUNT_NAME = 'SERVICE ACCOUNT NAME (IS "EMAIL ADDRESS")';
const KEY_FILE = 'KEY FILE';
const SCOPE = 'https://www.googleapis.com/auth/analytics.readonly';
// OPEN GOOGLE ANALYTICS AND GRANT ACCESS TO YOUR PROFILE, THEN PASTE IN YOUR SERVICE_ACCOUNT_NAME
$key = file_get_contents(KEY_FILE);
$auth = new Google_Auth_AssertionCredentials(
SERVICE_ACCOUNT_NAME,
array(SCOPE),
$key
);
$client = new Google_Client();
$client->setScopes(array(SCOPE));
$client->setAssertionCredentials($auth);
$client->getAuth()->refreshTokenWithAssertion();
$accessToken = $client->getAccessToken();
$client->setClientId(CLIENT_ID);
$service = new Google_Service_Analytics($client);
?>
<!DOCTYPE html>
<html>
<head>
<title>Google Experiments Dashboard</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet" media="screen">
</head>
<body class="container">
<h1>Your experiments</h1>
<table class="table"><tr><th><th>Experiment<th>Page<th>Started<th>Status
<?php
$progressClasses = array('progress-bar progress-bar-success','progress-bar progress-bar-info','progress-bar progress-bar-warning', 'progress-bar progress-bar-danger');
$profiles = $service->management_profiles->listManagementProfiles("~all", "~all");
foreach ($profiles['items'] as $profile) {
$experiments = $service->management_experiments->listManagementExperiments($profile['accountId'], $profile['webPropertyId'], $profile['id']);
foreach ($experiments['items'] as $experiment) {
echo "<tr>";
if ($experiment['status'] == 'RUNNING')
echo '<td><a class="btn btn-xs btn-success"><i class="glyphicon glyphicon-ok"></i></a>';
else
echo '<td><a class="btn btn-xs btn-danger"><i class="glyphicon glyphicon-remove"></i></a>';
$expHref = "https://www.google.com/analytics/web/?pli=1#siteopt-experiment/siteopt-detail/a{$profile['accountId']}w{$experiment['internalWebPropertyId']}p{$experiment['profileId']}/%3F_r.drilldown%3Danalytics.gwoExperimentId%3A{$experiment['id']}/";
echo "<td><a href='$expHref' target='_blank'>{$experiment['name']}</a>";
echo "<td>{$experiment['variations'][0]['url']}";
echo "<td>".date('Y-m-d',strtotime($experiment['startTime']));
echo "<td>";
echo '<div class="progress" style="width:400px">';
foreach ($experiment['variations'] as $i => $variation) {
echo '<a href="'.$variation['url'].'" target="_blank"><div class="'.$progressClasses[$i].'" role="progressbar" style="width: '.(100*$variation['weight']).'%">'.$variation['name'].'</div></a>';
}
echo '</div>';
}
}
?>
код с дополнительной документацией на https://gist.github.com/fulldecent/6728257
Этот код работает для меня ... Имена классов изменились с тех пор, как Google_AssertionCredientials => Google_Auth_AssertionCredentials и Google_AnalyticsService => Google_Service_Analytics – Graben
Спасибо, внесены изменения –
- 1. Календарь Google api V3 авторизация
- 2. авторизация карты google api v3 для доступа с https-страниц
- 3. Как обновить токен доступа для API отчетов Google Analytics v3
- 4. доступ к данным Google Analytics через api
- 5. Ошибка импорта: авторизация API Google Analytics
- 6. Возможно ли предоставить сторонний доступ к моим данным Google Analytics?
- 7. Авторизация авторизации Google Analytics
- 8. API Google Analytics - доступ к статистическим данным пользователей - добавление домена
- 9. API Google Analytics Несколько авторизация учетной записи
- 10. YouTube API v3 Java-авторизация
- 11. Доступ к данным Google Analytics только с ключом API
- 12. Mailchimp API v3 авторизация
- 13. API Google Analytics, применить сохраненный фильтр Analytics к запросу API
- 14. Google Analytics API v3/C# - System.Net.Http.Primitives Ошибка
- 15. Авторизация Google Analytics в java
- 16. `Предупреждение API Карт Google: NoApiKeys` при попытке доступа к данным Youtube Api v3
- 17. Доступ к данным YouTube APi v2
- 18. API экспорта данных Google Analytics V3
- 19. PHP Array и Google Analytics V3 API
- 20. Существует ли API для доступа к данным группы Google?
- 21. API Google Analytics v3 OAuth2Authenticator Issue
- 22. не позволяет моим данным влиять на Google Analytics
- 23. Как получить доступ к API Google Analytics?
- 24. Google Analytics: Как получить доступ к API Google Analytics
- 25. Упрощенный API для доступа к данным
- 26. API для доступа к данным меню ресторана
- 27. API PayPal для доступа к данным trasactional
- 28. Создание API для доступа к данным Neo4j
- 29. Android Google Analytics v3
- 30. Список комментариев к данным YouTube API v3
у меня точно такой же Ques ... Вы нашли ответ? – lpdahito
Вы нашли ответ для этого? –