使用php curl将文件上传到Google云端硬盘

由于某些原因,我正在使用php curl实现文件上传。但是我无法上传文件并获得false回复。我参考了Google云端硬盘文档任何想法?

$token = "xxxx";
$url = "https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart";

$inputarray = '';
$inputarray .= "--foo_bar_baz\r\n";
$inputarray .= "Content-Type: application/json; charset=UTF-8\r\n\r\n";
$inputarray .= "{\r\n";
$inputarray .= "\"name\": \"upload.jpg\"\r\n";
$inputarray .= "}\r\n\r\n";
$inputarray .= "--foo_bar_baz\r\n";
$inputarray .= "Content-Type:image/jpeg\r\n\r\n";
$inputarray .= file_get_contents("upload.jpg") . "\r\n";
$inputarray .= "--foo_bar_baz--\r\n";


$headers = array(
    'Content-Type: multipart/related; boundary=foo_bar_baz',
    'Authorization: Bearer ' . $token,
    'Content-Length: ' . strlen($inputarray)
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $inputarray);

$output = curl_exec($ch);
curl_close($ch);

echo $output;

我可以通过将CURLOPT_POSTFIELDS参数更改为数组数据来上传文件。

$token = "xxx";
$url = "https://www.googleapis.com/upload/drive/v2/files?uploadType=multipart";

$headers = array(
    "Content-Type:multipart/related",
        "Authorization: Bearer ".$token
    );

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, true);

$data1 = '@'.realpath('./metadata.json').';type=application/json;charset=UTF-8';
$data2 = '@'.realpath('./test.csv').';type=text/csv';

$postdata = array(
  'metadata'=>$data1,
  'file'=>$data2
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);

$output = curl_exec($ch);
curl_close($ch);

echo $output;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

找不到使用REST API上传到Google云端硬盘的文件

来自分类Dev

使用http上传到Google云端硬盘文件夹

来自分类Dev

通过API将文件上传到Google云端硬盘

来自分类Dev

使用curl将文件上传到django服务器

来自分类Dev

如何使用curl将文件上传到Atlassian Confluence页面

来自分类Dev

如何使用Java App Engine将图片文件正确上传到Google云端存储?

来自分类Dev

无法将文件上传到Google云端硬盘

来自分类Dev

Python:如何使用folderId将文件上传到Google云端硬盘中的特定文件夹

来自分类Dev

使用意图将文件上传到Google云端硬盘

来自分类Dev

将文件从App Engine上传到Google云端硬盘

来自分类Dev

使用Android将文本文件上传到Google云端硬盘

来自分类Dev

使用Google API的Google云端硬盘上传文件

来自分类Dev

使用Excel VBA将Excel文档上传到Google云端硬盘上的共享文件夹吗?

来自分类Dev

使用PyDrive将图片上传到Google云端硬盘

来自分类Dev

如何使用Apps脚本将云端硬盘中的现有文件上传到云端硬盘

来自分类Dev

无法使用Google App脚本上传到Google云端硬盘上的子文件夹

来自分类Dev

如何使用vb.net在Google云端硬盘上上传文件?

来自分类Dev

将缩放记录下载到本地计算机,并使用可恢复上传方法将视频上传到Google云端硬盘

来自分类Dev

找不到使用REST API上传到Google云端硬盘的文件

来自分类Dev

使用cURL将文件上传到Google云端硬盘-access_token过期问题

来自分类Dev

使用http上传到Google云端硬盘文件夹

来自分类Dev

将文件从Blobstore上传到Google云端硬盘

来自分类Dev

无法使用curl将文件上传到服务器

来自分类Dev

如何使用Java App Engine将图片文件正确上传到Google云端存储?

来自分类Dev

在后台将文件上传到Google云端硬盘

来自分类Dev

Python:如何使用folderId将文件上传到Google云端硬盘中的特定文件夹

来自分类Dev

使用意图将文件上传到Google云端硬盘

来自分类Dev

使用Dropzone将文件上传到Google云端硬盘

来自分类Dev

如何使用REST API将新修订版本上传到Google云端硬盘中的特定文件?

Related 相关文章

  1. 1

    找不到使用REST API上传到Google云端硬盘的文件

  2. 2

    使用http上传到Google云端硬盘文件夹

  3. 3

    通过API将文件上传到Google云端硬盘

  4. 4

    使用curl将文件上传到django服务器

  5. 5

    如何使用curl将文件上传到Atlassian Confluence页面

  6. 6

    如何使用Java App Engine将图片文件正确上传到Google云端存储?

  7. 7

    无法将文件上传到Google云端硬盘

  8. 8

    Python:如何使用folderId将文件上传到Google云端硬盘中的特定文件夹

  9. 9

    使用意图将文件上传到Google云端硬盘

  10. 10

    将文件从App Engine上传到Google云端硬盘

  11. 11

    使用Android将文本文件上传到Google云端硬盘

  12. 12

    使用Google API的Google云端硬盘上传文件

  13. 13

    使用Excel VBA将Excel文档上传到Google云端硬盘上的共享文件夹吗?

  14. 14

    使用PyDrive将图片上传到Google云端硬盘

  15. 15

    如何使用Apps脚本将云端硬盘中的现有文件上传到云端硬盘

  16. 16

    无法使用Google App脚本上传到Google云端硬盘上的子文件夹

  17. 17

    如何使用vb.net在Google云端硬盘上上传文件?

  18. 18

    将缩放记录下载到本地计算机,并使用可恢复上传方法将视频上传到Google云端硬盘

  19. 19

    找不到使用REST API上传到Google云端硬盘的文件

  20. 20

    使用cURL将文件上传到Google云端硬盘-access_token过期问题

  21. 21

    使用http上传到Google云端硬盘文件夹

  22. 22

    将文件从Blobstore上传到Google云端硬盘

  23. 23

    无法使用curl将文件上传到服务器

  24. 24

    如何使用Java App Engine将图片文件正确上传到Google云端存储?

  25. 25

    在后台将文件上传到Google云端硬盘

  26. 26

    Python:如何使用folderId将文件上传到Google云端硬盘中的特定文件夹

  27. 27

    使用意图将文件上传到Google云端硬盘

  28. 28

    使用Dropzone将文件上传到Google云端硬盘

  29. 29

    如何使用REST API将新修订版本上传到Google云端硬盘中的特定文件?

热门标签

归档