| OLD | NEW | 
| (Empty) |  | 
 |   1 # oauth2dl  | 
 |   2  | 
 |   3 This is a script that downloads a file from a given URL  | 
 |   4 using Google Oauth2 for service accounts. | 
 |   5  | 
 |   6 ## Dependencies | 
 |   7  | 
 |   8 * [Python 2.7](https://www.python.org/download/releases/2.7/) | 
 |   9 * [oauth2client](https://github.com/google/oauth2client) Using pip: | 
 |  10 ```commandline | 
 |  11     pip install oauth2client | 
 |  12 ``` | 
 |  13 * [httplib2](https://github.com/httplib2/httplib2) Using pip: | 
 |  14 ```commandline | 
 |  15     pip install httplib2 | 
 |  16 ``` | 
 |  17      | 
 |  18 ## Running the script | 
 |  19  | 
 |  20 The script can be run as a module, using the following command: | 
 |  21  | 
 |  22 ```commandline | 
 |  23     python -m sitescripts.oauth2dl.bin.oauth2dl [-k <key-file>] [-s <scope>] [-o
     <path>] <url> | 
 |  24 ``` | 
 |  25  | 
 |  26 where:  | 
 |  27 * `key-file` = Path to the key file used to authenticate. If not provided, uses | 
 |  28 the `OAUTH2DL_KEY` environment variable. | 
 |  29 * `scope` = The scope used when authenticating(eg: | 
 |  30 https://www.googleapis.com/auth/drive). If not provided, uses the `OAUTH2DL_SCOP
    E` | 
 |  31 environment variable. | 
 |  32  | 
 |  33 * `path` = Path where to save the downloaded file. If not provided, the  | 
 |  34 contents will be sent to `stdout` | 
 |  35 * `url` = URL of the file we're trying to download. For a Google Drive  | 
 |  36 file, the url should look something like:   | 
 |  37 `https://www.googleapis.com/drive/v3/files/<fileID>?alt=media` | 
 |  38  | 
 |  39 The script can also be run directly from the file, using: | 
 |  40 ```commandline | 
 |  41     python sitescripts/oauth2dl/bin/oauth2dl.py [-k <key-file>] [-s <scope>] [-o
     <path>] <url> | 
 |  42 ``` | 
 |  43  | 
 |  44 ## Getting the key file | 
 |  45  | 
 |  46 The key file can be obtained by following the instructions available  | 
 |  47 [here](https://developers.google.com/identity/protocols/OAuth2ServiceAccount). | 
 |  48  | 
 |  49 It should be a JSON with the following format:  | 
 |  50 ```json | 
 |  51     { | 
 |  52       "type": "service_account", | 
 |  53       "project_id": <project_id>, | 
 |  54       "private_key_id": <private_key_id>, | 
 |  55       "private_key": <RSA-encrypted private key>, | 
 |  56       "client_email": "<service_account_id>@<project_id>.iam.gserviceaccount.com
    ", | 
 |  57       "client_id": <client_id>, | 
 |  58       "auth_uri": "https://accounts.google.com/o/oauth2/auth", | 
 |  59       "token_uri": "https://accounts.google.com/o/oauth2/token", | 
 |  60       "auth_provider_x509_cert_url": ..., | 
 |  61       "client_x509_cert_url": ... | 
 |  62 } | 
 |  63 ``` | 
 |  64  | 
 |  65 In order to download the file the *service account* (i.e. the email in  | 
 |  66 the `client_id` field from the key file) should be granted access to it. | 
 |  67  | 
 |  68  | 
| OLD | NEW |