Google App Engine で実行している PHP アプリケーションがあり、そこで App Engine のデータストアを使用したいと考えています。
私は google-api-php-client を使用しています。Google Cloud Console で Google Cloud Datastore API を有効にし、新しいアプリを登録してプライベート証明書をダウンロードしました。
認証のために、私は次のコードを使用しています(xxxx
実際の値があります):
const SERVICE_ACCOUNT_NAME = 'xxxx@developer.gserviceaccount.com';
const KEY_FILE = 'secure/privatekey.p12';
$client = new Google_Client();
$key = file_get_contents ( KEY_FILE );
$client->setAssertionCredentials (
new Google_AssertionCredentials (
SERVICE_ACCOUNT_NAME,
array (
'https://www.googleapis.com/auth/userinfo.email',
'https://www.googleapis.com/auth/datastore'
),
$key
)
);
$service = new Google_DatastoreService ( $client );
$datasets = $service->datasets;
$datasets
のように で使用する操作に関係$datasets->lookup
なく、操作が許可されていないことを示す例外を受け取ります。
Uncaught exception 'Google_ServiceException' with message 'Error calling POST https://www.googleapis.com/datastore/v1beta1/datasets/<my-appengine-id>/lookup: (403) Unauthorized.'
何が間違っている可能性がありますか?