Dealing with Google Drive

From i2Rest
Revision as of 14:52, 3 June 2020 by Pavel.lobko (talk | contribs) (Oauth2 dialog)
Jump to: navigation, search


Lets walk step by step through our example with getting the list of existing files on "i2restexample" user Google Drive.

Preparations

a) At the very beginning your application should be registered as a client (obtaining Device ID and Device Password) on Google (see details).
b) Create *SYSTEM Certificate Store and add Google.com SSL CA .
c) Register your i2Rest Client on your i2Rest Server as a client to enable "bridge mode" by setting up your i2Rest Server OAuth2 object.
d) Choose appropriate API method and scope on Google Drive Api page.

i2Rest comand composing

So what we need is:

to set request method and API endpoint to values we prepared on Preparations step (d);
I2REST COMMAND(*Get)                                       
       URL('https://www.googleapis.com/drive/v3/files') 
to specify properly configured on Preparations step (b) Certificate_Store to be able to work with SSL secured resource;
       DCMCLIENT(MYCLIENT)  
to specify obtained on Preparations step (a) and step (d) requisites;
       AUTHID('677815701888-aj80fure8f1laqd3dqvpqtmlandni5an
              .apps.googleusercontent.com')                   
       AUTHPW(tI2ezmVGioGwrGk9K2O23Mv5)                       
       AUTHURL('https://accounts.google.com/o/oauth2/v2/auth  
               ')                                             
       TOKENURL('https://oauth2.googleapis.com/token')        
       SCOPE('https://www.googleapis.com/auth/drive.file')  
to specify Bridge mode parameters obtained on Preparations step (c);
       AUTHMETHOD(*BRIDGE)  
       BRIDGEURL('https://api.i2rest.com:22089/a2d')          
       BRIDGEID(OAUTH21)                                      
       BRIDGEPW(oauth21) 

Authorization code flow dialog

i2Rest Client will provide you with link - go ahead and follow it.
Authorization code usecase1-1.png


Find yourself on i2Rest bridge page. Enter the Proceed with "Next" button.
Authorization code usecase1-5.png


Authanticate
Authorization code usecase1-2.png


Grant access to requested scope.
Authorization code usecase1-3.png


Now we are redirected back to i2Rest bridge. At this moment
Authorization code usecase1-4.png


Checking the result!

Here is server response:
Server response (status 200, shown 214 bytes of 214):   
    {                                                       
     "kind": "drive#fileList",                              
     "incompleteSearch": false,                             
     "files": [                                             
      {                                                     
       "kind": "drive#file",                                
       "id": "1b-aQhiVeXgAQZVYeftIpuBo2GCvKQzHz",           
       "name": "i2rest.doc",                                
       "mimeType": "application/msword"                     
      }                                                     
     ]                                                      
    }                                                       


Back to i2Rest Client