Apps Script Execution API を使用しようとすると、404 エラーが発生し続けます。プロジェクト ID が正しくリンクされていること、および正しい API がオンになっていることを確認しました。
これは私が得ているトレースバックです:
Traceback (most recent call last):
File "", line 70, in main
response = service.scripts().run(body=request, scriptId=SCRIPT_ID).execute()
File "/oauth2client/util.py", line 137, in positional_wrapper
return wrapped(*args, **kwargs)
File "apiclient/http.py", line 723, in execute
raise HttpError(resp, content, uri=self.uri)
apiclient.errors.HttpError: <HttpError 404 when requesting https://script.googleapis.com/v1/scripts/ASFDQETWRQWEFAS12341234:run?alt=json returned "Requested entity was not found.">
これは私が使用しているコードです:
SCOPES = ['https://mail.google.com/',
'https://www.googleapis.com/auth/drive',
'https://www.googleapis.com/auth/spreadsheets']
SCRIPT_ID = 'ASFDQETWRQWEFAS12341234'
CLIENT_SECRET = '/file/path'
def get_credentials():
with open(CLIENT_SECRET, 'r') as f:
content = json.load(f)
credentials = client.SignedJwtAssertionCredentials(
content['client_email'], content['private_key'].encode(), SCOPES)
if hasattr(credentials, 'access_token'):
if (hasattr(credentials, 'access_token_expired') and
credentials.access_token_expired):
http = httplib2.Http()
credentials.refresh(http)
return credentials
def main(unused_argv):
credentials = get_credentials()
http = credentials.authorize(httplib2.Http())
service = build('script', 'v1', http=http)
request = {
'function': 'test',
'devMode': True
}
response = service.scripts().run(body=request, scriptId=SCRIPT_ID).execute()
if 'error' in response:
raise AppsScriptError(response['error'])
try:
assert str(response['response']['result']) == 'Success!'
except:
raise AppsScriptError('Apps Script didn\'t complete successfully.')