2016-08-22 34 views
1

我使用apiclient.discovery.build从谷歌拉队列租赁任务..它工作正常..但是当我尝试插入任务在这个队列中,我总是得到同样的错误:谷歌TaskQueue(拉)插入任务由API

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">

验证是正确的,因为我可以租赁/删除任务。它可能是在有效载荷缺少一些领域?

回答

1

好吧..我用租赁任务中的有效载荷来改变有效载荷,除了某些字段(例如ID或租用时间),并将'〜s'添加到'queueName'中的项目名称中。

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

现在它工作。