ご質問は申し訳ありませんが、これは問題ではありません。 Googleストレージバケットにファイルを一般公開するためのラーベルスクリプトがあり、正常に動作しています。問題は、アップロードしたオブジェクトがバケット内にあり、バケット内のディレクトリ内に配置する必要があることです。例えばバケット - は/ dev-バケツ/、正しいディレクトリ - /以下は/ dev-バケット/メディアは、私のスクリプトPHP:Googleストレージバケット内のフォルダに公開ファイルをアップロードする
$client = new \Google_Client();
$credential = new \Google_Auth_AssertionCredentials(
'[email protected]',
['https://www.googleapis.com/auth/devstorage.full_control'],
file_get_contents(storage_path().'xxxxx.p12')
);
$client->setAssertionCredentials($credential);
// this access control is for project owners
$ownerAccess = new \Google_Service_Storage_ObjectAccessControl();
$ownerAccess->setEntity('project-owners-' . 'xxxxxxxxxxx');
$ownerAccess->setRole('OWNER');
// this access control is for public access
$readerAccess = new \Google_Service_Storage_ObjectAccessControl();
$readerAccess->setEntity('allUsers');
$readerAccess->setRole('READER');
$storage = new \Google_Service_Storage($client);
$obj = new \Google_Service_Storage_StorageObject();
$obj->setName($stageFileName);
$obj->setAcl([$ownerAccess, $readerAccess]);
$storage->objects->insert(
Config::get('constants.bucket'),
$obj,
[
'name' => $stageFileName,
'data' => file_get_contents($stageFile),
'uploadType' => 'media',
]
);
は、バケット内のディレクトリ内のオブジェクトを置く方法についてのオプションがありますか?
ありがとうございます。私はどこでもこれを探しています。 – Lomse