java - 为 Google App Engine API 后端添加 OAuth 失败

标签 java google-app-engine maven oauth

我正在学习如何为 Google App 引擎创建 API 后端。 作为我学习的一部分,我已经成功实现了以下教程

https://developers.google.com/appengine/docs/java/endpoints/getstarted/backend/write_api https://developers.google.com/appengine/docs/java/endpoints/getstarted/backend/write_api_post

但是当我尝试按照本教程中所述添加 oAuth 时, https://developers.google.com/appengine/docs/java/endpoints/getstarted/backend/auth

我收到以下错误(在 mvn app engine:update 期间)

[ERROR] /Users/raj/Documents/workspace/rajmaven/helloendpoints/src/main/java/com/google/devrel/samples/helloendpoints/Greetings.java:[18,14] error: cannot find symbol [ERROR] symbol: variable Constant

我无法找到错误背后的确切原因。有人可以帮我解决这个问题吗?

  1 package com.google.devrel.samples.helloendpoints;
  2 
  3 import com.google.api.server.spi.config.Api;
  4 import javax.inject.Named;
  5 import java.util.ArrayList;
  6 import com.google.api.server.spi.config.ApiMethod;
  7 import com.google.appengine.api.users.User;
  8 
  9 /**
 10  * Defines v1 of a helloworld API, which provides simple "greeting" methods.
 11  */
 12 /*@Api(name = "helloworld", version = "v1") */
 13 
 14 
 15 @Api(
 16     name = "helloworld",
 17     version = "v1",
 18     scopes = {Constants.EMAIL_SCOPE},
 19     clientIds = {com.google.api.server.spi.Constant.API_EXPLORER_CLIENT_ID}
 20 )
 21 public class Greetings {
 22   public static ArrayList<HelloGreeting> greetings = new ArrayList<HelloGreeting>();
 23 
 24   static {
 25     greetings.add(new HelloGreeting("hello world!"));
 26     greetings.add(new HelloGreeting("goodbye world!"));
 27   }
 28 
 29   public HelloGreeting getGreeting(@Named("id") Integer id) {
 30     return greetings.get(id);
 31   }
 32 
 33 @ApiMethod(name = "greetings.authed", path = "greeting/authed")
 34 public HelloGreeting authedGreeting(User user) {
 35   HelloGreeting response = new HelloGreeting("hello " + user.getEmail());
 36   return response;
 37 }
 38 
 39 
 40 @ApiMethod(name = "greetings.multiply", httpMethod = "post")
 41 public HelloGreeting insertGreeting(@Named("times") Integer times, HelloGreeting greeting) {
 42   HelloGreeting response = new HelloGreeting();
 43   StringBuilder responseBuilder = new StringBuilder();
 44   for (int i = 0; i < times; i++) {
 45     responseBuilder.append(greeting.getMessage());
 46   }
 47   response.setMessage(responseBuilder.toString());
 48   return response;
 49 }
 50 
 51 
 52 }

最佳答案

我已经确定了这个问题;我必须提供常数。看起来教程没有提到这一点。我是从API后端应用的代码仓库https://github.com/GoogleCloudPlatform/appengine-endpoints-helloendpoints-java-maven找到的

关于java - 为 Google App Engine API 后端添加 OAuth 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20180649/

相关文章:

java - 无法将返回的 java.util.ArrayList 分配给 scala.collection.mutable.ArrayBuffer。为什么?

java - Google App Engine - 数据存储初始化如何跨 session 工作?

maven - 如何在 Maven 程序集插件中停止 INFO 级别的登录

java - 为什么我无法使用Apache Spark与Hive Metastore连接?

java - Tomcat服务器404

java - 在包名称中使用单词 'model' 创建资源而不是包

java - Java GC可以收集实例吗,而它是由方法使用的

java - 在 java 11 http 客户端上运行 powermock + mockito

java - 如何回滚应用程序引擎部署

google-app-engine - ndb 模型与 WTForms 的兼容性