API Календаря Google: Google\Client возвращает нулевые учетные данные и токен, используя учетную запись службы.Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 API Календаря Google: Google\Client возвращает нулевые учетные данные и токен, используя учетную запись службы.

Сообщение 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('[email protected]'); // 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" => "[email protected]"
"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" => "[email protected]"
]`

Возврат при попытке получить список событий из календаря:
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: "[email protected]"
+timeZone: "UTC"
+updated: "2025-01-09T17:23:30.354Z"
+"defaultReminders": []
+"items": []
}


Подробнее здесь: https://stackoverflow.com/questions/793 ... using-serv
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»