问题标签 [endpoints-proto-datastore]

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 投票
1 回答
59 浏览

python - Google Cloud Endpoints 的自定义身份验证

我正在开发一个android应用程序,我已经被困了几天。OAUTH 2.0 + google 帐户很棒,但我不想将我的应用程序紧密耦合到仅与 google 帐户一起使用。

如何实现自定义身份验证?

0 投票
1 回答
89 浏览

python - endpoints-proto-datastore:如何忽略 EndpointsAliasProperty 设置器中的必填字段?

我有两个课程:GameSession 和 Location。每个 GameSession 都应该有一个 Location 集。

当我尝试通过 Google 的 API Explorer 创建新的 GameSession 时,我收到以下错误消息:

对 gamesession 的 POST 请求如下所示:

如何只需要指定位置的 entityKey 来创建 GameSession 条目?我只是想存储密钥,这就是为什么我不想问名字。

0 投票
3 回答
1009 浏览

google-app-engine - 组合多个ndb不等式查询的结果

NDB 数据存储禁止对不同属性的多个不等式查询。为了解决这个问题,我认为解决方案可能是结合多个独立查询的结果。我发现了这个 2011 年的问题,它推荐了 geohashing,我对此并不熟悉。所以,也许今天有更好的解决方案。

考虑以下两个查询:

我尝试像这样加入他们:

然而,我遇到TypeError: Model is not immutable.

我的问题:

  • 有没有更好的方法来处理不同属性上的多个不等式过滤器?
  • 如果没有,我该如何解决TypeError上述问题?

感谢您的帮助。

0 投票
0 回答
67 浏览

python - _Message__decoded_fields AttributeError 是什么意思?

我想使用结构化属性并创建了一个非常简单的示例。

但是,尝试放置()时出现错误。

AttributeError:“StudentScore”对象没有属性“_Message__decoded_fields”

0 投票
1 回答
85 浏览

ios - 如何在 IOS 中为 Google App Engine 端点启用可选参数

我创建了一个后端 API 项目,并且在没有传递任何参数时成功调用了我的应用程序中的端点公开的 API。

此方法设计有一个可选参数。如生成 Google API 发现服务所示:

我想在调用 API 时传递一个瞳孔参数,但这样做有困难。

选择器“queryForMymodelList:”没有已知的类方法

0 投票
1 回答
273 浏览

python - 使用 Cloud Endpoints 获取用户信息(使用其他 API Endpoints)

我正在尝试设置端点 api(使用谷歌应用引擎、python),但我在获取用户个人资料信息时遇到了一些问题。API 正在工作,我可以通过本地主机上的 API Explorer 创建实体。

我的目标是允许用户通过仅提供一封电子邮件来注册我的应用程序,并授权该应用程序从他们的个人资料中获取信息的重置。我有这个端点方法:

这工作正常,我收到授权令牌并在数据存储中创建用户,但我不知道如何获取配置文件信息。如果我在 OAuth2 API 中输入令牌(通过API Explorer):

我得到了一些我需要的数据的令牌信息{ "user_id": "__ID__", "verified_email": true, ...},如果我user_id在 +API 中使用:

我可以获得所需的其余数据(名称、图像等)。

我需要做什么才能在我的UserRegister()方法中实现这一点?我宁愿只返回实体 ID 并异步完成其余的注册,但这是另一个问题,我会弄清楚(;只需要一些指导如何从我的代码中调用其他端点......

编辑:

我已经设法弄清楚如何调用其他 API(Gist 上的代码),现在 Plus API 只有一个问题:

我做了一些查询,最终得到了匿名配额错误。然后我添加了key参数并将其设置为WEB_CLIENT_IDor SERVICE_ACCOUNT

  • WEB_CLIENT_ID是来自 console.developers.google.com/apis/credentials 的 OAuth2 客户端 ID(类型:Web 应用程序),
  • SERVICE_ACCOUNT是默认的 App Engine 服务帐户 - MY_APP@appspot.gserviceaccount.com...

现在我收到以下错误:

当我使用+API explorer时,我得到了预期的结果:

任何人都知道为什么会这样?

0 投票
1 回答
230 浏览

python - @EndpointsAliasProperty 和 @Model.query_method 导致 BadRequestError(关键路径元素不能不完整:...)

嘿,现在我正在使用 Google ProtoRPC 和 Endpoints 开发后端 api。我正在使用endpoints-proto-datastore图书馆。

这里发生了如此奇怪的事情,这是EndpointsModel课程

这是API类

当我部署它时,每次我尝试访问assets.getMultipleAssets它时都会给我这个错误 raised BadRequestError(Key path element must not be incomplete: [ApplicationID: ])。奇怪的是,这只发生在方法 using @Model.query_method,我有其他方法使用相同的系统,但 using@Model.method并且它运行正常。

如果我在开发服务器中尝试过,有时它只是给我,RuntimeError: BadRequestError('missing key id/name',)然后如果我只是重新保存 .py 文件并重试它,它会起作用(有时不会,另一个重新保存也可能使错误再次发生)。

谁能告诉我我的错误?谢谢

0 投票
1 回答
167 浏览

python - 带有 Endpoints Proto Datastore 的 GAE NDB:按引用属性的 ID 过滤

我创建了一个模型Building,并参考了一个名为Office. 我想在 Proto REST Query ( ....)中过滤BuildingsOfficeID@Building.query_method

目前,我使用office_key属性(需要输入 Office 的实体密钥),但我想按OfficeID属性进行过滤。关于如何做到这一点的任何想法?

这是我到目前为止所尝试的:

0 投票
1 回答
817 浏览

python - Endpoints API - protopc 验证错误

protorpc当我使用端点时,我遇到了一些奇怪的错误。在这段代码中:

当我调用application.get()错误如下:(完整的跟踪here):

TypeError:只能从确切类型应用程序的实体中复制。收到应用程序的实例。

并且调用application.list()错误如下:(此处为完整跟踪):

<class '.Application'>ValidationError:找到字段项的预期类型<Application name: u'test'>(类型<class '.Application'>

这可能是什么原因造成的?我的其他具有几乎相同代码(只是属性不同)的模型工作正常。

0 投票
2 回答
217 浏览

python - 如何“发布”ndb.StructuredProperty?

问题:

我有以下EndpointsModels

和一个 API 方法:

当我尝试发布此数据时:

我收到一个错误(跟踪):

AttributeError:“角色”对象没有属性“_Message__decoded_fields”

解决方法:

我尝试使用EndpointsAliasProperty

这导致400 BadRequest

解析 ProtoRPC 请求时出错(无法解析请求内容:<type 'unicode'>字段角色的预期类型,找到 {u'level': 0, u'label': u'test'} (type <type 'dict'>))

如果我添加property_type到别名:

我再次收到服务器错误(跟踪):

TypeError:属性字段必须是简单 ProtoRPC 字段的子类、ProtoRPC 枚举类或 ProtoRPC 消息类。收到的角色<label=StringProperty('label'), level=IntegerProperty('level')>

有没有办法“转换”EndpointsModelProtoRPC message class有没有更好的StructuredProperty使用 POST 数据创建模型的解决方案?我找不到任何例子,如果有人知道任何链接,请分享(:

更新:

经过一些源代码的挖掘,我发现EndpointsModel.ProtoModel()可以用来将 ndb.Model 转换为 ProtoRPC 消息类

这解决了EndpointsAliasProperty解决方法的问题,但问题仍然存在......