2016-08-22 4 views
1

Я использую apiclient.discovery.build для аренды задач из очереди Google Pull. Это нормально работает. Но когда я пытаюсь вставить задачи в эту очередь, я всегда получить ту же ошибку:Задача задачи Task TaskQueue (pull) Google по 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

Хорошо .. Я сменил полезную нагрузку с точно загруженной информацией из арендованных задач .. за исключением некоторых полей (например, идентификатора или времени лизинга) и добавил '~ s' к имени проекта в 'queueName'.

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

Теперь это сработало.

Смежные вопросы