Google TaskQueue(拉)插入任务 API

Google TaskQueue (pull) insert task by API

我正在使用 apiclient.discovery.build 从 Google 拉队列中租用任务。它工作正常。但是当我尝试将任务插入该队列时,我总是得到相同的结果错误:

from apiclient.discovery import build
build = build('taskqueue', 'v1beta2', credentials=GoogleCredentials.get_application_default())

# Works
resp = build.tasks().lease(project=project,taskqueue=name,leaseSecs=lease_time,numTasks=num_tasks).execute()

# Error
payload = {'payloadBase64': 'c29tZSB0ZXN0'}
result = build.tasks().insert(project=project,taskqueue=name,body=payload)

raise HttpError(resp, content, uri=self.uri) googleapiclient.errors.HttpError: https://www.googleapis.com/taskqueue/v1beta2/projects/project_test/taskqueues/pullqq/tasks?alt=json returned "Backend Error">

身份验证是正确的,因为我可以 lease/delete 任务。可能是负载中缺少某些字段?

好吧..我用租用任务的有效载荷更改了有效载荷..除了一些字段(例如,ID或租赁时间)并将'~s'添加到[=15=中的项目名称].

resp = {u'kind': u'taskqueues#task', u'queueName': u'projects/s~project_name/taskqueues/pullqq', u'payloadBase64': u'c29tZSB0ZXN0'}

现在有效了。