{"id":19900022,"url":"https://github.com/scrapy-plugins/scrapy-feedexporter-google-drive","last_synced_at":"2025-06-13T05:39:06.085Z","repository":{"id":135445791,"uuid":"450207819","full_name":"scrapy-plugins/scrapy-feedexporter-google-drive","owner":"scrapy-plugins","description":null,"archived":false,"fork":false,"pushed_at":"2023-01-04T10:00:59.000Z","size":11,"stargazers_count":3,"open_issues_count":1,"forks_count":2,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-07T08:02:05.635Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/scrapy-plugins.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-20T18:12:33.000Z","updated_at":"2023-06-19T11:56:33.000Z","dependencies_parsed_at":"2023-03-27T16:02:10.284Z","dependency_job_id":null,"html_url":"https://github.com/scrapy-plugins/scrapy-feedexporter-google-drive","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scrapy-plugins%2Fscrapy-feedexporter-google-drive","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scrapy-plugins%2Fscrapy-feedexporter-google-drive/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scrapy-plugins%2Fscrapy-feedexporter-google-drive/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scrapy-plugins%2Fscrapy-feedexporter-google-drive/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scrapy-plugins","download_url":"https://codeload.github.com/scrapy-plugins/scrapy-feedexporter-google-drive/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252116455,"owners_count":21697381,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T20:10:52.008Z","updated_at":"2025-05-02T22:32:06.935Z","avatar_url":"https://github.com/scrapy-plugins.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Google Drive Exporter for Scrapy\n[Scrapy feed export storage backend](https://doc.scrapy.org/en/latest/topics/feed-exports.html#storage-backends) for Google Drive.\n\n## Requirements\n-  Python 3.8+\n\n## Installation\n```bash\npip install git+https://github.com/scrapy-plugins/scrapy-feedexporter-google-drive\n```\n## Usage\n* Add this storage backend to the [FEED_STORAGES](https://docs.scrapy.org/en/latest/topics/feed-exports.html#std-setting-FEED_STORAGES) Scrapy setting. For example:\n    ```python\n    # settings.py\n    FEED_STORAGES = {'gdrive': 'scrapy_gdrive_exporter.gdrive_exporter.GoogleDriveFeedStorage'}\n    ```\n* Configure [authentication](https://developers.google.com/identity/protocols/oauth2/service-account) with service account like following:\n  \n  For example,\n  ```python\n  GDRIVE_SERVICE_ACCOUNT_CREDENTIALS_JSON = '{ \"type\": \"service_account\", \"project_id\": \"project_id here\", \"private_key_id\": \"private_key_id here\", \"private_key\": \"private_key here\", \"client_email\": \"client_email here\", \"client_id\": \"client_id here\", \"auth_uri\": \"auth_uri here\", \"token_uri\": \"token_uri here\", \"auth_provider_x509_cert_url\": \"auth_provider_x509_cert_url here\", \"client_x509_cert_url\": \"client_x509_cert_url here\" }'\n    ```\n* Give access of the folder (where you want to export the file) to the service account used in previous step. This can be done by sharing that folder with the service account's email (available in credentials as `client_email`)\n* Configure in the [FEEDS](https://docs.scrapy.org/en/latest/topics/feed-exports.html#feeds) Scrapy setting the Google Drive URI where the feed needs to be exported.\n\n    ```python\n    FEEDS = {\n        \"gdrive://drive.google.com/\u003cfolder_id\u003e/\u003cfile_name.extension\u003e\": {\n            \"format\": \"json\"\n        }\n    }\n    ```\n  - You can get the `folder_id` of the folder from the address bar, while being inside that folder.\n    - e.g: `https://drive.google.com/drive/folders/\u003cfolder id is here\u003e`\n## Feed Options\n- The `overwrite` [feed option](https://docs.scrapy.org/en/latest/topics/feed-exports.html#feed-options) is not supported by this exporter.\n  - If it's set to `True` or `False`, a warning will be logged.\n  - The current behavior of this exporter is that the exported file is always stored as a new file. They are not overwrited.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscrapy-plugins%2Fscrapy-feedexporter-google-drive","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscrapy-plugins%2Fscrapy-feedexporter-google-drive","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscrapy-plugins%2Fscrapy-feedexporter-google-drive/lists"}