使用php中的Curl将文件下载到特定文件夹

时间:2015-09-17 16:26:59

标签: php curl google-drive-api

我有一个Google Drive File Url,例如。

  

https://doc-0c-90-docs.googleusercontent.com/docs/securesc/rgh255lj001rts71cq6a0d0fmikln8fe/gg1vds4tn8h88pushsj7s1c1qvsb8nk3/1442404800000/16565899266202741945/16565899266202741945/0B86G8IQ4Uf9ATk5wRW9pdXN6OFE?e=download&gd=true

我想将它下载到我正在使用curl的特定文件夹

function pickerCallback(data) {
     if (data[google.picker.Response.ACTION] == google.picker.Action.PICKED) {
        var doc = data[google.picker.Response.DOCUMENTS][0];
        var fileId=doc[google.picker.Document.ID];

              $.ajax({
                type: "POST",
                url: "files/sample.php",
                data: { file_id:fileId,token:oauthToken },
                success: function(data)
                {   

                }
            });
         }
}
  

sample.php

$upload_path='folder_path';
$fileId = $_POST['file_id'];
$oAuthToken = $_POST['token'];

$getUrl = 'https://www.googleapis.com/drive/v2/files/'. $fileId .'?alt=media';
$authHeader = 'Authorization: Bearer ' . $oAuthToken ;

function get_data($url) {
    $ch = curl_init();
    $timeout = 5;
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    $data = curl_exec($ch);
    curl_close($ch);
    return $data;
}

$returned_content = get_data($getUrl);
file_put_contents($upload_path.'/'."55dad26bf4165.jpg", $returned_content); 

这是我正在下载55dad26bf4165.jpg文件的名称,但它会出现以下错误:

  

string(379)“{”error“; {”errors“:[{   “域”: “usageLimits”, “原因”:dailyLimitExceededUnreg”   消息:超出未经身份验证的使用的每日限制。继续使用   需要注册。“   “extendedHelp”:“https://code.google.com/apisconsole”}],“代码”:403,   “消息”:“超出未经验证的使用的每日限制。继续   使用需要注册。“}}”

请帮助解决此错误发生的原因。

0 个答案:

没有答案