Я пытаюсь подключиться к Google Cloud Datastore, используя приведенный ниже код. Я пытался следовать этим требованиям , а также этим . Я использую Composer и мой код находится в плагине Wordpress. Я поместил свой файл учетных данных в ту же папку, что и скрипт, и он найден.
<?php # -*- coding: utf-8 -*-
/*
* Plugin Name: Cloud Datastore Connection
*/
add_shortcode( 'cd_connect', 'cloud_datastore_connection' );
use Google\Cloud\Core\ServiceBuilder;
use Google\Cloud\Datastore\DatastoreClient;
function cloud_datastore_connection( $attributes )
{
// For Composer
require 'vendor/autoload.php';
// Authenticate using keyfile data
$cloud = new ServiceBuilder([
'keyFile' => json_decode(file_get_contents('/www/.../XXX.json'), true)
]);
$datastore = new DatastoreClient(['projectId' => 'ultunaphotons']);
// Create an entity
$bob = $datastore->entity('Person');
$bob['firstName'] = 'Bob';
$bob['email'] = 'bob@example.com';
$datastore->insert($bob);
// Update the entity
$bob['email'] = 'bobV2@example.com';
$datastore->update($bob);
// testing
print bob['email'];
}
?>
Я получаю это сообщение об ошибке:
Неустранимая ошибка: Uncaught Google \ Cloud \ Core \ Exception \ ServiceException: {
"ошибка": {"код": 401, "сообщение": "Требуется запрос отсутствует
учетные данные для аутентификации. Ожидаемый токен доступа OAuth 2, cookie для входа
или другие действительные учетные данные для аутентификации. Увидеть
https://developers.google.com/identity/sign-in/web/devconsole-project.",
"status": "UNAUTHENTICATED"}} в
/www/.../vendor/google/cloud-core/src/RequestWrapper.php:362
Трассировка стека: # 0
/www/.../vendor/google/cloud-core/src/RequestWrapper.php(206): Google \ Cloud \ Core \ RequestWrapper-> convertToGoogleException (Object (GuzzleHttp \ Exception \ ClientException)) # 1 / www /. ../vendor/google/cloud-core/src/RestTrait.php(95):
Google \ Cloud \ Основные \ RequestWrapper-> отправить (Object (GuzzleHttp \ pSR7 \ Запрос),
Ар в
/www/.../vendor/google/cloud-core/src/RequestWrapper.php
по линии 362
Есть идеи, что я делаю не так?