Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建可恢复文件上载会话到google drive无法通过php工作_Php_Google Drive Api - Fatal编程技术网

创建可恢复文件上载会话到google drive无法通过php工作

创建可恢复文件上载会话到google drive无法通过php工作,php,google-drive-api,Php,Google Drive Api,我正在尝试创建会话,以便通过可恢复上传将文件上传到google drive API源 以下是所有http头的定义。 X-Upload-Content-Type.可选。设置为文件数据的MIME类型,该数据将在后续请求中传输。 如果数据的MIME类型未在元数据中或通过此标头指定,则该对象将作为 应用程序/八位字节流 X-Upload-Content-Length.可选。设置为将在后续请求中传输的文件数据字节数 内容类型。如果您有该文件的元数据,则为必填项。设置为application/json;字

我正在尝试创建会话,以便通过可恢复上传将文件上传到google drive

API源

以下是所有http头的定义。

X-Upload-Content-Type.可选。设置为文件数据的MIME类型,该数据将在后续请求中传输。 如果数据的MIME类型未在元数据中或通过此标头指定,则该对象将作为 应用程序/八位字节流

X-Upload-Content-Length.可选。设置为将在后续请求中传输的文件数据字节数

内容类型。如果您有该文件的元数据,则为必填项。设置为application/json;字符集=UTF-8

内容长度。必需,除非使用分块传输编码。设置为此首字母的正文中的字节数 请求

这是我的代码。 我的问题是,代码会一直加载到浏览器上,直到超时。 我增加了最大执行时间 分别但相同的问题。我想知道我在curl头文件或代码本身上做错了什么

    ini_set('max_execution_time', 3000);
    $url= 'https://www.googleapis.com/upload/drive/v3/files?uploadType=resumable';
    $token='my token goes here';

    $file_name = "nancy.zip";
    echo $fsize =filesize($file_name);
    $mType='application/zip';

    echo $chunkSize = 1 * 1024 * 1024; // 1mb

    $datas = '{
        "name": "'.$file_name.'"
     }';
    /*
    $header=array(                                                                          
    //"Host: www.googleapis.com",                                                                                
    "Authorization: Bearer $token",
    "Content-Length: $chunkSize",
    "Content-Type: application/json; charset=UTF-8",
    "X-Upload-Content-Type: $mType",
    "X-Upload-Content-Length: $fsize"
    );
    */
//ziganotschka suggestions
$header=array(
 "Authorization: Bearer".$token, 
"Content-Length: ".$chunkSize, 
"Content-Type: application/json; charset=UTF-8",
 "X-Upload-Content-Type:".$mType,
 "X-Upload-Content-Length: ".$fsize ); 

    $ch=curl_init(); 
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_CUSTOMREQUEST,'POST');
    curl_setopt($ch, CURLOPT_POST, true); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);  
    curl_setopt($ch,CURLOPT_POSTFIELDS, $datas);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);


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


    var_dump($res);

您似乎有一个报价问题:
header=array(/“Host:www.googleapis.com”,“Authorization:Bearer”。$token,“内容长度:”.$chunkSize,“内容类型:application/json;charset=UTF-8”,“X-Upload-Content-Type:.$mType,”X-Upload-Content-Length:.$fsize)这不是报价问题。我已经尝试了您的解决方案,但浏览器仍在加载。没有结果,谢谢。这就是我要找的。非常感谢。
    ini_set('max_execution_time', 3000);
    $url= 'https://www.googleapis.com/upload/drive/v3/files?uploadType=resumable';
    $token='my token goes here';

    $file_name = "nancy.zip";
    echo $fsize =filesize($file_name);
    $mType='application/zip';

    echo $chunkSize = 1 * 1024 * 1024; // 1mb

    $datas = '{
        "name": "'.$file_name.'"
     }';
    /*
    $header=array(                                                                          
    //"Host: www.googleapis.com",                                                                                
    "Authorization: Bearer $token",
    "Content-Length: $chunkSize",
    "Content-Type: application/json; charset=UTF-8",
    "X-Upload-Content-Type: $mType",
    "X-Upload-Content-Length: $fsize"
    );
    */
//ziganotschka suggestions
$header=array(
 "Authorization: Bearer".$token, 
"Content-Length: ".$chunkSize, 
"Content-Type: application/json; charset=UTF-8",
 "X-Upload-Content-Type:".$mType,
 "X-Upload-Content-Length: ".$fsize ); 

    $ch=curl_init(); 
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_CUSTOMREQUEST,'POST');
    curl_setopt($ch, CURLOPT_POST, true); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);  
    curl_setopt($ch,CURLOPT_POSTFIELDS, $datas);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);


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


    var_dump($res);