title: I want to upload file to specific folder with google drive API curl
body: <p>I have uploaded file to google drive with curl API. But I want to upload file to specific folder. I have also tried with folder id in API url like: <a href="https://www.googleapis.com/upload/drive/v3/files/folder_id?uploadType=media" rel="nofollow noreferrer">https://www.googleapis.com/upload/drive/v3/files/folder_id?uploadType=media</a></p>
  
  <pre><code>add_action('wpcf7_before_send_mail', 'save_application_form');
  
  function save_application_form($WPCF7_ContactForm) {
  
      $wpcf7 = WPCF7_ContactForm :: get_current();
      $submission = WPCF7_Submission :: get_instance();
      if ($WPCF7_ContactForm-&gt;id == 8578) {
          if ($submission) {
              $submited = array();
              //$submited['title'] = $wpcf7-&gt;title();
              $submited['posted_data'] = $submission-&gt;get_posted_data();
              $uploaded_files = $submission-&gt;uploaded_files();
              $name = $submited['posted_data']["Name"];
              $position_test = $submited['posted_data']["Position"];
              $email = $submited['posted_data']["Email"];
              $phone = $submited['posted_data']["phone"];
              $message = $submited['posted_data']["Message"];
              $position = $submited['posted_data']["AttachYourCV"];
  
             // $test2 = $_FILES['AttachYourCV']['name'];
  
              $finfo = finfo_open(FILEINFO_MIME_TYPE);
              $cf7_file_field_name = 'AttachYourCV';
  
              $image_location = $uploaded_files[$cf7_file_field_name];
              $mime_type = finfo_file($finfo, $image_location);
              $token = GetRefreshedAccessToken('client_id', 'refresh_token', 'client_secret');
              $ch = curl_init();
              curl_setopt_array($ch, array(
                  CURLOPT_URL =&gt; 'https://www.googleapis.com/upload/drive/v3/files?uploadType=media',
                  CURLOPT_HTTPHEADER =&gt; array(
                      'Content-Type:' . $mime_type, // todo: runtime detection?
                      'Authorization: Bearer ' . $token
                  ),
                  CURLOPT_POST =&gt; 1,
                  CURLOPT_POSTFIELDS =&gt; file_get_contents($image_location),
                  CURLOPT_RETURNTRANSFER =&gt; 1
              ));
              $response = curl_exec($ch);
              $id = json_decode($response, TRUE);
              $get_id = $id['id'];
  
      curl_close($ch);
     if (isset($id['id'])) {
              $get_id = $id['id'];
              $post_fields = array();
              $folder_id = '1-9r8oVsAfV_iJmYh1cZYPMvE9Qhv8RLA';
              // remove extension  
              $this_file_name = explode('.', $position);
  
              // submit name field  
              $post_fields['name'] .= $this_file_name[0];
              $post_fields['parents'] = $folder_id[1];
              $ch2 = curl_init();
              curl_setopt_array($ch2, array(
                  CURLOPT_URL =&gt; 'https://www.googleapis.com/drive/v3/files/' . $get_id,
                  CURLOPT_HTTPHEADER =&gt; array(
                      'Content-Type:application/json', // todo: runtime detection?
                      'Authorization: Bearer ' . $token
                  ),
                  CURLOPT_POST =&gt; 1,
                  CURLOPT_CUSTOMREQUEST =&gt; 'PATCH',
                  CURLOPT_POSTFIELDS =&gt; json_encode($post_fields),
                  CURLOPT_RETURNTRANSFER =&gt; 1
              ));
              $response = curl_exec($ch2);
              if ($response === false) {
                  $output = 'ERROR: ' . curl_error($ch2);
              } else {
                  $output = $response;
              }
  
              // close second request handler  
              curl_close($ch2);
  
  
          }
  }
  </code></pre>
  
  <p>I have added another curl call but still didn't get file in folder. My file untitled issue solved with this way.</p>