Update Readme and added additional lines into config.example to express the option to have multiple documents and service accounts.
This commit is contained in:
@@ -45,16 +45,3 @@ To configure multiple keys with per-key rate limits:
|
|||||||
```
|
```
|
||||||
|
|
||||||
The app will round-robin requests across configured keys and respect `rateLimitPerMinute` values.
|
The app will round-robin requests across configured keys and respect `rateLimitPerMinute` values.
|
||||||
|
|
||||||
## Storing keys safely
|
|
||||||
|
|
||||||
- Do not commit `config.json` with keys to version control. Add `config.json` to `.gitignore`.
|
|
||||||
- Alternatively, keep a `config.json.example` in the repo and place the real keys in a local `config.json`.
|
|
||||||
- If you prefer to use environment variables, you can have a small loader script that reads an env var and writes `config.json` before running the app.
|
|
||||||
|
|
||||||
## Troubleshooting
|
|
||||||
|
|
||||||
- If you get quota or 403 errors, check API restrictions, project quotas, and whether the key is restricted to the wrong IP/referrer.
|
|
||||||
- Use multiple keys to spread requests if you hit per-key quotas.
|
|
||||||
|
|
||||||
*** End of guide ***
|
|
||||||
|
|||||||
@@ -37,14 +37,20 @@ This guide explains how to create a Google service account, enable the Sheets AP
|
|||||||
|
|
||||||
## 5. Configure the project
|
## 5. Configure the project
|
||||||
|
|
||||||
In `config.json`, set the `credentialsPath` field to the JSON file path, and remove any `apiKey` or `apiKeys` entries if you are using service account auth.
|
In `config.json`, add the service account credentials under the `serviceAccounts` array. Here's an example using service account authentication:
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"credentialsPath": "credentials.json",
|
"serviceAccounts": [
|
||||||
"rateLimitPerMinute": 50,
|
{
|
||||||
|
"path": "credentials.json",
|
||||||
|
"rateLimitPerMinute": 50
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "credentials.json",
|
||||||
|
"rateLimitPerMinute": 50
|
||||||
|
}
|
||||||
|
],
|
||||||
"documents": [
|
"documents": [
|
||||||
{
|
{
|
||||||
"documentId": "YOUR_SPREADSHEET_ID",
|
"documentId": "YOUR_SPREADSHEET_ID",
|
||||||
@@ -59,3 +65,5 @@ Example:
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The app will round-robin requests across configured accounts and respect `rateLimitPerMinute` values.
|
||||||
@@ -13,6 +13,10 @@
|
|||||||
{
|
{
|
||||||
"path": "credentials.json",
|
"path": "credentials.json",
|
||||||
"rateLimitPerMinute": 50
|
"rateLimitPerMinute": 50
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "credentials_2.json",
|
||||||
|
"rateLimitPerMinute": 50
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"documents": [
|
"documents": [
|
||||||
@@ -25,6 +29,16 @@
|
|||||||
"outputFilename": "sheet1.csv"
|
"outputFilename": "sheet1.csv"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"documentId": "YOUR_SPREADSHEET_ID_2",
|
||||||
|
"outputDir": "output/your-document-2",
|
||||||
|
"sheets": [
|
||||||
|
{
|
||||||
|
"name": "Sheet1",
|
||||||
|
"outputFilename": "sheet1.csv"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user