加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

在Python中使用Apps Script Execution API时出现404错误

发布时间:2020-12-20 13:09:50 所属栏目:Python 来源:网络整理
导读:尝试使用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
尝试使用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.')

解决方法

看起来你必须去脚本项目,Publish>部署为API可执行文件并选择谁有权访问该脚本 – 任何人.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读