问题标签 [google-cloud-endpoints-v2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
98 浏览

google-app-engine - 关于使用 Cloud Endpoints 进行 Google App Engine 标准环境服务到服务身份验证的说明

相关问题:

  1. 如何在 GAE 标准上从 Google Cloud Endpoints 在 Python 库中进行身份验证检查

  2. 如何检查 Google Cloud Endpoints 中的服务到服务身份验证?

我有一个 App Engine 标准 (Python) 环境(使用 webapp2),它将调用 Cloud Endpoint(不需要用户身份验证,但调用必须是服务到服务安全的),我想澄清一下如何使用 Cloud Endpoint Framework for App Engine Standard 执行此操作。

如果我采用上面(2)中描述的方法,这是否意味着我必须手动编辑lib/endpoints/endpointscfg.py get_openapi_spect使用安全定义生成的 openapi.json 文件?该文档似乎更适合使用 Cloud Endpoints for OpenApi 的 GCE 和 App Engine Flex 环境,因此我是否必须编辑@endpoints.api配置令人困惑。

或者,假设我正在从 App Engine 标准环境中拨打电话,我是否只能使用 urlfetch 和 AppIdentity:https ://cloud.google.com/appengine/docs/standard/python/appidentity/并断言身份端点?如果是这样,配置会是什么样子?

0 投票
2 回答
646 浏览

python - 在 Python 中使用 Google Cloud Endpoints Framework 返回 JSON 数组作为响应

我正在使用带有 Python 的 Google Endpoints Framework ( https://cloud.google.com/endpoints/docs/frameworks/python/get-started-frameworks-python ),并且一直在使用它构建 REST API。

我能够在响应中返回 JSON 对象(字典),例如:

但是,我无法返回 JSON 数组(列表)作为响应,例如:

[ {“id”:“brand_1_id”,“名称”:“品牌 1”},{“id”:“brand_2_id”,“名称”:“品牌 2”}]

以下是我用来返回响应的代码片段

以下是为发送响应而创建的类:

以下是处理请求的方法:

知道如何直接返回 JSON 数组,而不是包装在 JSON 对象内的键中。

0 投票
0 回答
19 浏览

google-app-engine - ResourceContainer 消息字段大小限制

我正在使用重复的整数字段来查询许多地方的信息。如果 placeId 的数量很大,我会看到“找不到路径的端点”错误。这是 ResourceContainer 定义。

如果我将请求拆分为大小为 10 的请求,则一切正常。我试图在线找到 ResourceContainer 中重复字段的最大大小的答案,但一直找不到。谁能指出我的资源或告诉我它会是什么?

0 投票
1 回答
128 浏览

java - 迁移到 Cloud Endpoints v2

我有一些 Google App Engine 标准 Java 环境应用程序,它们是移动应用程序的后端,有 Android 和 iOS 客户端。

前段时间我收到一封电子邮件,说 Cloud Endpoints v1 将不再受支持,我需要迁移到新版本 v2。

当我升级服务器版本时,已经存在(并使用端点 v1)的移动客户端会发生什么情况?

我的 Android 客户端使用 maven 生成的库,并且与 iOS 的集成基于另一个 maven 命令生成的发现文档。

恐怕升级后客户端将无法再与我的后端通信(只要他们不更新他们的库/文档)。由于我们无法让应用用户升级他们的应用,我希望服务器更改不会影响所有已经在生产环境中运行的客户端。

0 投票
1 回答
896 浏览

android - 从 android 调用 grpc google 端点导致来自 nginx esp 的 HTTP 状态代码 400

我正在尝试在 Google Cloud Platform 上使用 grpc-java (flavor lite) 从 android 进行 GRPC 调用,并且我有来自 nginx esp 的 HTTP 状态代码 400

在我的本地网络上,它可以在 golang 中使用 grpc 服务器。

但是在 Google Cloud Platform 上,我们在 gRPC Google Cloud Endpoints 前面使用 TCP 负载均衡器,并且我们的 golang 后端使用 Google Container Engine 部署。

从我们的第一次分析来看,只有当我们在 grpc-java 上使用带有 JWT 令牌的 grpc 元数据时,它才会出现,如果我们不发送元数据,它就会起作用。

我的端点 config.yaml

我的后端配置

我的客户端配置

Go 代码示例

我们正在使用来自 firebase 的 JWT 令牌和自定义声明,并传递元数据。

** java代码示例**

我的问题

使用 GCP 上的 Go 客户端,它可以工作。

使用 GCP 上的 grpcc(一个 NodeJS)客户端,它可以工作。

在 android 上使用 grpc-java 失败并显示以下跟踪:

在 Google Cloud Endpoints 上,我可以在我的 esp 上看到此日志:

代替

任何想法 ?

0 投票
1 回答
738 浏览

google-cloud-endpoints - 如何增加最大客户端主体大小 Google Cloud Endpoints GKE

对我的端点集群的大型 POST 请求返回“413 Request Entity Too Large”错误。我意识到 NGINX conf 的限制设置为 32mb,但鉴于我使用的是 GKE,我该如何修改它。

链接https://cloud.google.com/endpoints/docs/openapi/kubernetes-concept描述了如何使用纯 K8 的集群来执行此操作,但这似乎在 GKE 环境中不起作用。

在这种情况下,我的 esp 容器说它找不到 /etc/nginx/custom/trusted-ca-certificates.crt。

那么,基本上,如何增加在 GKE 上运行的 Google Cloud Endpoints 的最大客户端主体大小?

任何帮助,将不胜感激。谢谢。

0 投票
2 回答
540 浏览

android-studio - Android Studio 3 - 如何添加云端点模块

在 Android Studio 3 中,“添加模块”不再作为添加 Google Cloud 模块(例如 Cloud Endpoints)的选项。- 我们现在如何添加 Endpoints 模块(例如 firebase)?

0 投票
1 回答
143 浏览

azure - Google Endpoints JWT Limited JWT 声明传递

有没有办法请求特定的 JWT 声明显示在 Google Cloud Endpoints oauth 场景中的“X-Endpoint-API-UserInfo”标头中?

作为背景,我已成功让 Google Cloud Endpoints 从 Azure Oauth 验证我的 JWT 令牌,但是 Google Cloud Endpoints 在标头中传递的数据是有限的,并且没有充分包含来自原始声明的足够信息。

Azure 提供的声明可在此处找到:https ://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-protocols-oauth-code 。

例如

{ "aud": "2d4d11a2-f814-46a7-890a-274a72a7309e", "iss": "https://sts.windows.net/7fe81447-da57-4385-becb-6de57f21477e/", "iat": 1388440863, "nbf": 1388440863, "exp": 1388444763, "ver": "1.0", "tid": "7fe81447-da57-4385-becb-6de57f21477e", "oid": "68389ae2-62fa-4b18-91fe-53dd109d74f5", "upn": "frank@contoso.com", "unique_name": "frank@contoso.com", "sub": "JWvYdCWPhhlpS1Zsf7yYUxShUwtUm5yzPmw_-jX3fHY", "family_name": "Miller", "given_name": "Frank" }.

但是,Google Cloud Endpoints 仅返回此处指定的 3 个字段(颁发者、ID 和电子邮件):https ://cloud.google.com/endpoints/docs/openapi/authenticating-users 。

正如您所看到的,字段中存在未对齐,并且可能某些字段在端点中访问是有价值的。

0 投票
1 回答
89 浏览

google-cloud-endpoints-v2 - 为什么没有强制执行 apiKeyRequired = AnnotationBoolean.TRUE?

我正在使用 Maven 依赖项使用 Java 构建 GAE 标准端点:

在哪里

使用以下方法注释 API:

但 API 并未强制执行 API 密钥。

也许我不理解。我期待对此的 POST 会起作用。

但这会失败

但是所有成功都没有错误。

谁能引导我朝着正确的方向前进?谢谢。

0 投票
1 回答
556 浏览

java - App Engine Java 部署错误:java.lang.NoSuchMethodError:com.google.common.reflect.TypeToken.isSubtypeOf

自过去 4-5 天以来,我们在应用引擎服务器上部署时遇到以下错误。有时部署有效,但大多数时候它会给出以下错误。

日志片段 1:

日志片段 2: