Я пытаюсь создать веб-приложение с простой информационной панелью с данными Google Analytics для учетных записей, которые вошли в систему с Google. Я использую Laravel с пакетом Socialite, и я могу регистрировать пользователей в Google в настоящее время. У меня есть клиентский ключ разработчика и клиентский секрет. Я устанавливал области для Google Analytics только для чтения и автономный доступ, и я хранили имя клиента, адрес электронной почты, идентификатор Google, токен доступа и токен обновления в моей базе данных. Я могу войти в систему без каких-либо проблем.laravel - Аутентификация API Google Analytics
Что я хочу сделать сейчас, просто войдите в профили, которые есть в аккаунте Analytics. Я выполнил примеры документации API API, но не смог заставить его работать. Поскольку я храню токен доступа и токен обновления, я думаю, что должен иметь возможность аутентифицировать текущего пользователя и получать данные Google Analytics, но я не мог найти никаких простых методов из библиотек клиентов и аналитики. Мне нужно будет получить доступ к их данным в Google Analytics в автономном режиме, и поэтому я думаю, что я должен авторизовать свои запросы с токеном доступа и обновлять токен, но я не получаю никаких конкретных данных Analytics из процесса входа в систему. Теперь я полностью потерялся, как мне разрешить мои запросы к API Anayltics? Я использую AdWords API уже более 8 месяцев, и все ясно в документации API AdWords, но я не мог получить что-либо, работая с API Google Analytics.
Это мои пользовательские методы входа:
public function redirectToProvider()
{
$parameters = ['access_type' => 'offline'];
return Socialite::driver('google')
->scopes(['https://www.googleapis.com/auth/analytics.readonly'])
->with($parameters)
->redirect();
}
/**
* Obtain the user information from Google.
*
* @return Response
*/
public function handleProviderCallback()
{
$outsiderLogin = Socialite::driver('google')->stateless()->user();
$user = User::where('googleID', $outsiderLogin->id)->first();
// Register the user if there is no user with that id.
if (!$user) {
$user = new User;
$user->name = $outsiderLogin->name;
$user->googleID = $outsiderLogin->id;
$user->email = $outsiderLogin->email;
$user->token = $outsiderLogin->token;
$user->refreshToken = $outsiderLogin->refreshToken;
$user->save();
}
// Log the user in.
Auth::login($user);
return redirect('/home');
}
Большое спасибо.
Прежде всего, большое спасибо. Я видел большинство этих пакетов, но для этих пакетов требуется идентификатор просмотра Google Analytics, который выглядит как «ga-123456», и я не думаю, что это хороший пользовательский интерфейс. Как пользователь, я хотел бы, чтобы эта веб-страница получала все данные без дополнительных усилий после успешной аутентификации. Здесь все усложняется, мне нужно получить данные из GA, но нет идентификатора вида или ничего не происходит с процессом авторизации, вот где я застрял. У меня есть токены доступа, но ни один из этих пакетов не работает с этими токенами доступа? –
Общение не является вашим ответом. Поэтому вам нужно посмотреть разные варианты. Я использую этот пакет для всех своих сервисов Google API. Но найдите Packalyst и найдите тот, с которым вам больше всего нравится. https://github.com/pulkitjalan/google-apiclient –
Большое спасибо. На данный момент я нашел свой путь с Socialite, и поскольку у меня есть крайний срок для проекта, я думаю, что буду использовать его, как сейчас, до MVP. Я думаю, что я перейду на пакет, который вы используете, он выглядит довольно простым в использовании. Спасибо, ты помог мне разобраться. –