title: Python Google Drive API file-delete() method broken
body: <p>I cannot get google-drive file-delete() method to work via the Python API.</p>
  
  <p>It is acting broken.</p>
  
  <p>I offer some info about my setup:</p>
  
  <ul>
  <li>Ubuntu 16.04</li>
  <li>Python 3.5.2 (default, Nov 12 2018, 13:43:14)</li>
  <li>google-api-python-client (1.7.9)</li>
  <li>google-auth (1.6.3)</li>
  <li>google-auth-httplib2 (0.0.3)</li>
  <li>google-auth-oauthlib (0.3.0)</li>
  </ul>
  
  <p>Below, I list a Python script which can reproduce the bug:</p>
  
  <pre><code>"""
  googdrive17.py
  
  This script should delete files named 'hello.txt'
  
  Ref:
  https://developers.google.com/drive/api/v3/quickstart/python
  https://developers.google.com/drive/api/v3/reference/files
  
  Demo (Ubuntu):
  sudo apt install python3-pip
  sudo pip3 install --upgrade google-api-python-client
  sudo pip3 install --upgrade google-auth-httplib2
  sudo pip3 install --upgrade google-auth-oauthlib
  
  python3 googdrive17.py
  """
  
  import pickle
  import os.path
  from googleapiclient.discovery      import build
  from googleapiclient.http           import MediaFileUpload
  from google_auth_oauthlib.flow      import InstalledAppFlow
  from google.auth.transport.requests import Request
  
  # I s.declare a very permissive scope (for training only):
  SCOPES      = ['https://www.googleapis.com/auth/drive']
  
  creds = None
  # The file token.pickle stores the user's access and refresh tokens, and is
  # created automatically when the authorization flow completes for the first time.
  if os.path.exists('token.pickle'):
      with open('token.pickle', 'rb') as fh:
          creds = pickle.load(fh)
  # If there are no (valid) credentials available, let the user log in.
  if not creds or not creds.valid:
      if creds and creds.expired and creds.refresh_token:
          creds.refresh(Request())
      else:
          flow = InstalledAppFlow.from_client_secrets_file(
              'credentials.json', SCOPES)
          creds = flow.run_local_server()
      # Save the credentials for the next run
      with open('token.pickle', 'wb') as token:
          pickle.dump(creds, token)
  
  # I s.create a file so I can upload it:
  with open('/tmp/hello.txt','w') as fh:
      fh.write("hello world\n")
  # From my laptop, I s.upload a file named hello.txt:
  drive_service = build('drive', 'v3', credentials=creds)
  file_metadata = {'name': 'hello.txt'}
  media = MediaFileUpload('/tmp/hello.txt', mimetype='text/plain')
  create_response = drive_service.files().create(body=file_metadata,
                                       media_body=media,
                                       fields='id').execute()
  file_id = create_response.get('id')
  print('new /tmp/hello.txt file_id:')
  print(file_id)
  
  # Q: With googleapiclient, how to filter files list()-response?
  # A1: https://developers.google.com/drive/api/v3/reference/files/list
  # A2: https://developers.google.com/drive/api/v3/search-files
  
  list_response = drive_service.files().list(
      orderBy   = "createdTime desc",
      q         = "name='hello.txt'",
      pageSize  = 22,
      fields    = "files(id, name)"
  ).execute()
  
  items = list_response.get('files', [])
  
  if items:
      for item in items:
          print('I will try to delete this file:')
          print(u'{0} ({1})'.format(item['name'], item['id']))
          del_response = drive_service.files().delete(fileId=item['id'])
          print('del_response.body:')
          print( del_response.body)
      print('I will try to emptyTrash:')
      trash_response = drive_service.files().emptyTrash()
      print('trash_response.body:')
      print( trash_response.body)
  else:
      print('hello.txt not found in your google-drive account.')
  </code></pre>
  
  <p>When I run the script I see output similar to that listed below:</p>
  
  <pre><code>$ python3 googdrive17.py
  new /tmp/hello.txt file_id:
  1m8nKOfIeB0E5t60F_-9bKwIJds8PSvYY
  I will try to delete this file:
  hello.txt (1m8nKOfIeB0E5t60F_-9bKwIJds8PSvYY)
  del_response.body:
  None
  I will try to delete this file:
  hello.txt (1Ow4fcUBgEYUy3ezYScDKlLSMbp-hyOLT)
  del_response.body:
  None
  I will try to delete this file:
  hello.txt (1TiUrLgQdY1Cb9w0UWHjnmj7HZBaFsKcp)
  del_response.body:
  None
  I will try to emptyTrash:
  trash_response.body:
  None
  $
  </code></pre>
  
  <p>I see that two of the API calls work well:</p>
  
  <ul>
  <li>files.list()</li>
  <li>files.create()</li>
  </ul>
  
  <p>Two calls appear broken:</p>
  
  <ul>
  <li>files.delete()</li>
  <li>files.emptyTrash()</li>
  </ul>
  
  <p>Perhaps, though, I call them incorrectly?</p>