PHP /谷歌云存储,卷曲?

时间:2017-08-04 14:53:49

标签: php google-app-engine google-cloud-storage

我看过很多关于这个主题的帖子,但似乎找不到真正回答我问题的帖子。我有一个带有PHP后端的基于AngularJS的站点,我希望使用上传文件的现有表单,然后将其重新路由到后端的Google Cloud Storage。我之前使用curl从应用程序发送到单独的Python应用程序。所以问题是:

使用curl(包括auth方法)将文件传输到我的Google云端存储分区的最佳方法是什么?还需要明确是否可以使用API​​_KEY,或者是否需要OAuth或其他Auth方法。

我最近的尝试,虽然我真的不确定这种方法本身是否正确,但是因为人们喜欢看到悲伤的尝试:

$authheaders = array("Authorization: Bearer " . $API_KEY);
$request = curl_init();
$url = "https://www.googleapis.com/upload/storage/v1/b/".$bucket."/o?uploadType=resumable&name=" . $_FILES['file']['name'];
curl_setopt($request, CURLOPT_POSTFIELDS, array('file' => curl_file_create($filepath)));
curl_setopt($request, CURLOPT_HTTPHEADER, $authheaders);
curl_setopt($request, CURLOPT_URL, $url);
curl_setopt($request, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($request, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($request, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($request, CURLOPT_SSLVERSION, 1);
curl_setopt($request, CURLOPT_VERBOSE, true);
curl_setopt($request, CURLOPT_RETURNTRANSFER, true);
curl_setopt($request, CURLOPT_HEADER, true);
$result = curl_exec($request);

0 个答案:

没有答案