Я хочу переместить файл Google Drive в определенную папку с php curl - PullRequest
0 голосов
/ 08 марта 2019

Я загрузил файл и переименовал его в Google Drive, используя php curl api.Но я не могу переместить загруженный файл в определенную папку.Пожалуйста, скажите мне, где я не прав в моем коде?Пожалуйста, скажите мне, какой URL-адрес API мне следует вызывать?или что-нибудь еще из моего кода, чтобы изменить

$ch = curl_init();
            curl_setopt_array($ch, array(
                CURLOPT_URL => 'https://www.googleapis.com/upload/drive/v3/files?uploadType=media',
                CURLOPT_HTTPHEADER => array(
                    'Content-Type:' . $mime_type, // todo: runtime detection?
                    'Authorization: Bearer ' . $token
                ),
                CURLOPT_POST => 1,
                CURLOPT_POSTFIELDS => file_get_contents($image_location),
                CURLOPT_RETURNTRANSFER => 1
            ));
            $response = curl_exec($ch);
            $id = json_decode($response, TRUE);
            $get_id = $id['id'];
            $link = "https://drive.google.com/file/d/" . $get_id . "/view?usp=sharing";
           curl_close($ch);

            if (isset($id['id'])) {
                $folder_id = 'my_folder_id';
                $get_id = $id['id'];

                $data = array("name" => $position);
                $data_string = json_encode($data);

                $ch2 = curl_init();
                curl_setopt_array($ch2, array(
                    CURLOPT_URL => 'https://www.googleapis.com/drive/v3/files/' . $get_id,
                    CURLOPT_HTTPHEADER => array(
                        'Content-Type:application/json', // todo: runtime detection?
                        'Authorization: Bearer ' . $token
                    ),
                    CURLOPT_POST => 1,
                    CURLOPT_CUSTOMREQUEST => 'PATCH',
                    CURLOPT_POSTFIELDS => $data_string,
                    CURLOPT_RETURNTRANSFER => 1
                ));
                $response = curl_exec($ch2);
                $parsed = json_decode($response, TRUE);
                if ($response === false) {
                    $output = 'ERROR: ' . curl_error($ch2);
                } else {
                    $output = $response;
                }

                // close second request handler  
                curl_close($ch2);
                
                $ch3 = curl_init();
                curl_setopt_array($ch3, array(
                    CURLOPT_URL => 'https://www.googleapis.com/drive/v3/files/' . $get_id,
                    CURLOPT_POST => 1,
                    CURLOPT_RETURNTRANSFER => true,
                    CURLOPT_POSTFIELDS => json_encode(array(
                        // Earlier it was title changed to name
                       'addParents' => $folder_id,
                       'removeParents' => 'root',
                    )),
                    // Earlier it was PATCH changed to post
                  CURLOPT_CUSTOMREQUEST => 'PATCH',
                    CURLOPT_HTTPHEADER => array(
                        'Content-Type :application/json',
                        'Authorization: Bearer ' . $token
                    )
                ));
                $response1 = curl_exec($ch3);
                 $parsed1 = json_decode ( $response1, true );
                if ($response1 === false) {
                    $output = 'ERROR: ' . curl_error($ch3);
                } else {
                    $output = $response1;
                }
                print_r($parsed1);
                // close second request handler  
                curl_close($ch3);

Мои файлы загружены в корневой каталог, но не могут быть перемещены в мою папку.Я уже создал папку в Google Drive.1-й лок для загрузки файла 2-й лок для переименования файла 3-й лок для перемещения файла в папку

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...