2016-05-13 70 views
0

我无法处理Pull Task Queue REST API。每当我尝试它时,都会说“403--你不能让这个API呼叫”。我在我的电脑中尝试了这一点,显然它不在应用程序和计算引擎中。如何在App Engine之外使用Google Pull任务队列REST 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(); 

回答

0

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

<queue> 
    <name>pull-queuqueue</name> 
    <mode>pull</mode> 
    <rate>10/s</rate> 
    <acl> 
     <user-email>[email protected]</user-email> 
    </acl> 
</queue> 
相关问题