Я пытаюсь создать авторизацию с помощью GoogleAPI, используя сервисный аккаунт. Цель – получить и вставить данные в календарь Google.
Я создал сервисный аккаунт, поделился им со своим календарем и предоставил разрешения владельца сервисного аккаунта. Проблема, с которой я столкнулся, заключается в том, что на первом этапе -> авторизация. Проблема заключается в нулевом значении для аутентификации, учетных данных. Он не выдает ошибку при авторизации, но когда dd() показывает нулевые значения (показано ниже). Когда я пытаюсь получить события, он также не выдает ошибку, а возвращает пустой массив (показан ниже). Я также попытался изменить адрес электронной почты setSubject, указав адрес электронной почты владельца и служебный адрес электронной почты. Я впервые пытаюсь интегрировать API Google для клиента, поэтому буду благодарен за любую помощь.
{
// Path to the Service Account JSON key file
$path = storage_path('google');
$serviceAccountKeyFile = $path.'/XXX-api-XXXX-57a87f160279.'.'json';
if (!file_exists($serviceAccountKeyFile)) {
dd(("Service account key file not found: $serviceAccountKeyFile"));
}
$client = new Google_Client();
$client->setAuthConfig($serviceAccountKeyFile);
$client->addScope(Google_Service_Calendar::CALENDAR);
$client->setSubject('XXX-service@calendar-api-XXXX.iam.XX.com'); // Email of the calendar owner
dd($client);
return $client;
}
А вот ответ dd($client):
`Google\Client {#424 ▼ // app/Logic/Main/Google.php:25
-auth: null
-http: null
-cache: null
-token: null
-config: array:32 [▶]
-logger: null
-credentials: null
-deferExecution: false
#requestedScopes: array:1 [▶]
}`
Вот что внутри конфигурации, если это поможет:
-config: array:32 [▼
"application_name" => ""
"base_path" => "https://www.googleapis.com"
"client_id" => "11XXXXXXXXXXXXX735"
"client_secret" => ""
"credentials" => null
"scopes" => null
"quota_project" => null
"redirect_uri" => null
"state" => null
"developer_key" => ""
"use_application_default_credentials" => true
"signing_key" => """
-----BEGIN PRIVATE KEY-----
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIBAQCujT8xeg4UzZlj
N/fytESt32gN1JNXXXXXXXXXXXXXXXXXXXXXXXXXXxcQEgwJwf5
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVtiPwGOyS1E
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXRSa9k0Lt09qVOw
ryg7xEvr9dlXXXXXXXXXXXXXXXXXXXXXXXXXXXX+Tve5PD8a
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVvCzWIjR8+f
10eDLCSVFSuXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWqc8UXNJd1l+Fp
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxJSsXsfU
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX71VJ6
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX39LtyFQF
kCF/9Q71E0EXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxAT0zd8pWnvg+Ip7j
RyiNagXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXSlR
XXXXXXXXXXXXXXXXXXXXX
-----END PRIVATE KEY-----
"""
"signing_algorithm" => "HS256"
"subject" => "XXXXdar-XXXX@calendar-api-4XXX3.iam.gserviceaccount.com"
"hd" => ""
"prompt" => ""
"openid.realm" => ""
"include_granted_scopes" => null
"logger" => null
"login_hint" => ""
"request_visible_actions" => ""
"access_type" => "online"
"approval_prompt" => "auto"
"retry" => []
"retry_map" => null
"cache" => null
"cache_config" => []
"token_callback" => Closure($cacheKey, $newAccessToken) {#428 ▶}
"jwt" => null
"api_format_v2" => false
"universe_domain" => "googleapis.com"
"client_email" => "calXXXar-service@cXXXdar-api-X4XXX13.iam.gserviceaccount.com"
]`
Возврат при попытке получить список событий из календаря:
Google\Service\Calendar\Events {#477 ▼
#internal_gapi_mappings: []
#modelData: []
#processed: []
#collection_key: "items"
+accessRole: "owner"
#defaultRemindersType: "Google\Service\Calendar\EventReminder"
#defaultRemindersDataType: "array"
+description: ""
+etag: ""p3389XXXXifkok0o""
#itemsType: "Google\Service\Calendar\Event"
#itemsDataType: "array"
+kind: "calendar#events"
+nextPageToken: null
+nextSyncToken: null
+summary: "caXXXar-serXXXce@caXXXXar-api-4XXX3.iam.gserviceaccount.com"
+timeZone: "UTC"
+updated: "2025-01-09T17:23:30.354Z"
+"defaultReminders": []
+"items": []
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... using-serv
API Календаря Google: Google\Client возвращает нулевые учетные данные и токен, используя учетную запись службы. ⇐ Php
Кемеровские программисты php общаются здесь
1736465216
Anonymous
Я пытаюсь создать авторизацию с помощью GoogleAPI, используя сервисный аккаунт. Цель – получить и вставить данные в календарь Google.
Я создал сервисный аккаунт, поделился им со своим календарем и предоставил разрешения владельца сервисного аккаунта. Проблема, с которой я столкнулся, заключается в том, что на первом этапе -> авторизация. Проблема заключается в нулевом значении для аутентификации, учетных данных. Он не выдает ошибку при авторизации, но когда dd() показывает нулевые значения (показано ниже). Когда я пытаюсь получить события, он также не выдает ошибку, а возвращает пустой массив (показан ниже). Я также попытался изменить адрес электронной почты setSubject, указав адрес электронной почты владельца и служебный адрес электронной почты. Я впервые пытаюсь интегрировать API Google для клиента, поэтому буду благодарен за любую помощь.
{
// Path to the Service Account JSON key file
$path = storage_path('google');
$serviceAccountKeyFile = $path.'/XXX-api-XXXX-57a87f160279.'.'json';
if (!file_exists($serviceAccountKeyFile)) {
dd(("Service account key file not found: $serviceAccountKeyFile"));
}
$client = new Google_Client();
$client->setAuthConfig($serviceAccountKeyFile);
$client->addScope(Google_Service_Calendar::CALENDAR);
$client->setSubject('XXX-service@calendar-api-XXXX.iam.XX.com'); // Email of the calendar owner
dd($client);
return $client;
}
А вот ответ dd($client):
`Google\Client {#424 ▼ // app/Logic/Main/Google.php:25
-auth: null
-http: null
-cache: null
-token: null
-config: array:32 [▶]
-logger: null
-credentials: null
-deferExecution: false
#requestedScopes: array:1 [▶]
}`
Вот что внутри конфигурации, если это поможет:
-config: array:32 [▼
"application_name" => ""
"base_path" => "https://www.googleapis.com"
"client_id" => "11XXXXXXXXXXXXX735"
"client_secret" => ""
"credentials" => null
"scopes" => null
"quota_project" => null
"redirect_uri" => null
"state" => null
"developer_key" => ""
"use_application_default_credentials" => true
"signing_key" => """
-----BEGIN PRIVATE KEY-----
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXIBAQCujT8xeg4UzZlj
N/fytESt32gN1JNXXXXXXXXXXXXXXXXXXXXXXXXXXxcQEgwJwf5
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVtiPwGOyS1E
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXRSa9k0Lt09qVOw
ryg7xEvr9dlXXXXXXXXXXXXXXXXXXXXXXXXXXXX+Tve5PD8a
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVvCzWIjR8+f
10eDLCSVFSuXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWqc8UXNJd1l+Fp
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxJSsXsfU
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX71VJ6
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX39LtyFQF
kCF/9Q71E0EXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxAT0zd8pWnvg+Ip7j
RyiNagXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXSlR
XXXXXXXXXXXXXXXXXXXXX
-----END PRIVATE KEY-----
"""
"signing_algorithm" => "HS256"
"subject" => "XXXXdar-XXXX@calendar-api-4XXX3.iam.gserviceaccount.com"
"hd" => ""
"prompt" => ""
"openid.realm" => ""
"include_granted_scopes" => null
"logger" => null
"login_hint" => ""
"request_visible_actions" => ""
"access_type" => "online"
"approval_prompt" => "auto"
"retry" => []
"retry_map" => null
"cache" => null
"cache_config" => []
"token_callback" => Closure($cacheKey, $newAccessToken) {#428 ▶}
"jwt" => null
"api_format_v2" => false
"universe_domain" => "googleapis.com"
"client_email" => "calXXXar-service@cXXXdar-api-X4XXX13.iam.gserviceaccount.com"
]`
Возврат при попытке получить список событий из календаря:
Google\Service\Calendar\Events {#477 ▼
#internal_gapi_mappings: []
#modelData: []
#processed: []
#collection_key: "items"
+accessRole: "owner"
#defaultRemindersType: "Google\Service\Calendar\EventReminder"
#defaultRemindersDataType: "array"
+description: ""
+etag: ""p3389XXXXifkok0o""
#itemsType: "Google\Service\Calendar\Event"
#itemsDataType: "array"
+kind: "calendar#events"
+nextPageToken: null
+nextSyncToken: null
+summary: "caXXXar-serXXXce@caXXXXar-api-4XXX3.iam.gserviceaccount.com"
+timeZone: "UTC"
+updated: "2025-01-09T17:23:30.354Z"
+"defaultReminders": []
+"items": []
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79344280/google-calendar-api-google-client-returns-null-credentials-and-token-using-serv[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия