1

Google プル キューからタスクをリースするために apiclient.discovery.build を使用しています。問題なく動作しています。しかし、このキューにタスクを挿入しようとすると、常に同じエラーが発生します。

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 が「バックエンド エラーを返しました」 ">

タスクをリース/削除できるため、認証は正しいです.ペイロードに欠落しているフィールドがある可能性がありますか?

4

1 に答える 1

1

ええと..リースされたタスクからの正確なペイロードでペイロードを変更しました..いくつかのフィールド(IDまたはリース時間など)を除いて、「〜s」を「queueName」のプロジェクト名に追加しました。

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

今はうまくいきました。

于 2016-08-22T18:07:44.557 に答える