如何在App Engine外使用Google Pull Task Queue REST API?

时间:2016-05-13 13:34:45

标签: google-app-engine google-compute-engine task-queue

我在处理Pull Task Queue REST API时遇到问题。每当我尝试它时说" 403 - 你不被允许进行这个api通话"。我在我的计算机上尝试这个,显然是在应用程序和计算引擎之外。

我有我的服务帐户凭据,我的WEB-INF中的queue.xml,以及现在我想知道在开始使用之前是否必须先创建队列 ...是必要?

这是我的代码......我错过了什么吗?

JsonFactory JSON_FACTORY = JacksonFactory.getDefaultInstance();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();

List<String> scopes = new ArrayList<>();
scopes.add(TaskqueueScopes.TASKQUEUE);
scopes.add(TaskqueueScopes.TASKQUEUE_CONSUMER);

ClassLoader classloader = Thread.currentThread().getContextClassLoader();
InputStream is = classloader.getResourceAsStream("credential-12356.json");

GoogleCredential credential = GoogleCredential.fromStream(is).createScoped(scopes);

Taskqueue taskQueue = new Taskqueue.Builder(httpTransport, JSON_FACTORY, credential).setApplicationName(APPLICATION_NAME).build();

Taskqueue.Taskqueues.Get request = taskQueue.taskqueues().get(projectId, taskQueueName);
request.setGetStats(true);

//Get the queue!
TaskQueue queue = request.execute();

1 个答案:

答案 0 :(得分:0)

您是否在queue.xml的队列配置中配置了电子邮件地址?

<queue>
    <name>pull-queuqueue</name>
    <mode>pull</mode>
    <rate>10/s</rate>
     <acl> 
      <user-email>xyz@gmail.com</user-email>
    </acl>
 </queue>