OAuth 2.0 Playground and Google Drive API
    
    
    
    
     By Nicolas Garnier, Developer Relations
      By Nicolas Garnier, Developer Relations
      
      Last November, 
we
      launched the 
OAuth 2.0
      Playground, a tool enabling you to easily experiment with the OAuth 2.0 protocol and
      APIs that use the protocol. We recently added a convenient way for you to test the newly
      launched 
Google Drive
      API by allowing you to open Drive files with the OAuth 2.0 Playground along with
      extending the capabilities of the Playground to support file upload and multipart
      requests.
      
      The Drive API uses a 
per-file
      security model. When using the
      
https://www.googleapis.com/auth/drive.file scope you will only be able to
      access the files that your app has created or that were opened through the Google Drive
      interface with your app. This made it impossible to read any existing Drive files using the
      OAuth 2.0 Playground by simply authorizing the Drive scope. To make this possible we are
      providing a way to open files from the Drive UI with the OAuth 2.0 Playground. All you need to
      do is add the 
OAuth 2.0
      Playground application to Google Drive.
      
      
OAuth 2.0 Playground as a Drive app on the Chrome Web Store
      
      To allow you to experiment with the Drive-initiated OAuth 2.0 flow and open existing Drive
      files using the API we've made the OAuth 2.0 Playground installable as a Drive app from the
      
Chrome
      Web Store.
      
      
       OAuth 2.0 Playground listing on the Chrome Web Store
      
      OAuth 2.0 Playground listing on the Chrome Web Store
       
      After installing the OAuth 2.0 Playground you will be able to open files directly from Drive
      using the OAuth 2.0 Playground by simply 
right clicking on a file in Drive >
      Open with > OAuth 2.0 Playground.
      
      
       Right click on a file in Drive > Open with > OAuth 2.0
      Playground
      
      Right click on a file in Drive > Open with > OAuth 2.0
      Playground
       
      This makes sure the Playground is granted access to the file and then redirects the user to
      the Playground after initiating an OAuth flow. The Playground will have the auth code and the
      file metadata URL pre-filled so you'll then be able to conveniently finish the OAuth flow and
      fetch the file's metadata.
      
      
      {
 "kind": "drive#file",
 "id": "0B9-4449Da_xrQlIzdG1TcUJDaTQ",
 "etag": "\"apVthTUIHAT9tjL_sIEpc--sy_s/MTMzOTY4MDk…
 "title": "drive_logo.png",
 "mimeType": "image/png",
 "labels": {
  "starred": false,
  "hidden": false,
  "trashed": false
 },
 "createdDate": "2012-06-14T13:36:29.054Z",
 "modifiedDate": "2012-06-14T13:36:29.054Z",
 "modifiedByMeDate": "2012-06-14T13:36:28.905Z",
 "lastViewedDate": "2012-06-14T15:53:18.150Z",
 "parentsCollection": [
  {
   "id": "0AN-4449Da_xrUk9PVA",
  }
 ],
 …
      Drive file’s metadata
      fetched by the OAuth 2.0 Playground
      
      Specify file content as request body
      
      Along with manually specifying text, you can now choose to send file content as part of the
      request body with the Playground. To do that, simply select a file in the 
Request
      Body.
      
      
      In the case where you choose to specify both some 
manually entered text and
      a 
file as the request body, we will automatically convert your request to a
      multipart request as shown below.
      
      
      POST
      /upload/drive/v1/files?uploadType=multipart HTTP/1.1
Host:
      www.googleapis.com
Content-length: 1759
Content-type: multipart/related;
      boundary="===============736…
Authorization: OAuth
      ya29.1234567890
--===============7362915341248842466==
Content-type: application/json
      
      {
 "title": "drive_logo.png",
 "mimeType": "image/png"
}
--===============7362915341248842466==
Content-type: image/png
      <BINARY DATA - 1526 Bytes>
--===============7362915341248842466==--
      
      
       
      A multipart request sent
      from the OAuth 2.0 Playground
      
      
This allows you, for instance, to create new files on Drive with one single
      request to the Drive API file upload endpoint by sending both the metadata of the file and the
      file’s content.
      
      We hope the OAuth 2.0
      Playground Drive application and the new file upload features will help you during
      the development of Drive-enabled web applications. If you have any questions regarding the
      Drive API don’t hesitate to ask us on Stack Overflow
      and if you’d like to reach out to the OAuth 2.0 Playground team please do so on our Google
      Group.
      
      
      Nicolas
      Garnier joined Google’s Developer Relations in 2008 and lives in Zurich. He is a
      Developer Advocate focusing on Google Apps and Web APIs. Before joining Google, Nicolas worked
      at Airbus and at the French Space Agency where he built web applications for scientific
      researchers.
      
      Posted by Scott Knaster,
      Editor