问题标签 [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.
google-app-engine - 使用 endpoints-proto-datastore 从 KeyProperty 获取引用的实体
我正在使用 Danny Hermes 为 Google App Engine 创建的 Endpoints-proto-datastore。
我的模型看起来像这样:
我的 API 是这样的:
问题是当我提出请求时,我得到
但是获取变量键对我来说并没有真正的用处,因为这会迫使客户端再次请求指标实体上的变量。我想获取变量内容,如下所示:
endpoints-proto-datastore - 如何在 query_method 中过滤 ComputedProperty?
如何查询计算属性?
在这种情况下query
,将始终有一个过滤器来测试attr2 == False
.
原因似乎是过滤器是从使用创建的实体创建的FromMessage
。作为attr2
一个计算属性,它不能被设置。attr1
默认为 0,无论attr2
传入什么,始终为 False。
python - 不工作示例基本
我正在使用 Google Endpoints 和http://endpoints-proto-datastore.appspot.com/中的 endpoints-proto-datastore 的基本示例
这是我的文件 widgettiny_api.py
我打开链接 /_ah/api/explorer 。我得到这个错误:
错误是什么?
python - 动态创建的方法和装饰器,得到错误 'functools.partial' 对象没有属性 '__module__'
我目前正在使用 EndpointsModel 为我在 AppEngine 上的所有模型创建一个 RESTful API。由于它是 RESTful,这些 api 有很多我想避免的重复代码。
例如:
我想让它们变得通用。所以我尝试向类动态添加方法。到目前为止我已经尝试过:
但我明白了,我认为这是因为's 装饰器和部分装饰器'functools.partial' object has no attribute '__module__' exception.
之间存在一些冲突。endpoints.method
但不知道如何避免它。
相关文章:
python - user_required 的 Appengine 端点原型数据存储问题:未返回记录
我在部署的 appengine 应用程序上遇到了一个问题:它没有使用 Google 的 API 资源管理器返回我的位置。
我确实定义了一个 ./datastore_models/location.py 文件:
我确实有一个简单的 ./main.py 文件:
当我现在调用“GET https://uemd-core.appspot.com/_ah/api/uemd/v1/locations ”时,我没有收到我在使用 POST 方法之前创建的位置。我只是收到:
执行“GET https://uemd-core.appspot.com/_ah/api/uemd/v1/location/5634387206995968 ”确实会按预期返回一个位置。
在 Appengine 日志中,我看到以下调试消息:
但我也看到了返回单个位置的方法的这条消息......
在 dev_appserver.py 上运行相同的查询会引发:
到目前为止,我确实遵循了 endpoints-proto-datastore 的示例,但我确实想将我的数据存储模型存储在一个额外的目录 (datastore_models) 中。location.insert 和 location.get 方法有效,但 location.list 无效。所有这些方法都显示“无法解析标题”消息......我该如何解决这个问题?
干杯
我仍然有同样的问题。检索一个位置确实有效,而多个则无效。
google-app-engine - 具有 AppEngine、Webapp2 和 Cloud Endpoints Proto Datastore 的多个身份验证提供程序
我正在开发一个允许用户使用simpleauth进行身份验证的 webapp 。现在我将支持 Google 和 Facebook。除了登录和注销(使用 webapp2),webapp 将包含 Cloud Endpoint API。客户端将是 Web、Android 和 iOS。
我的问题是,使用 Endpoints Proto Datastore,如果用户的身份验证提供程序是 Facebook(或任何其他受支持的 OAuth2 提供程序),我是否可以拥有user_required=True
并调用endpoints.get_current_user()
以获取我的用户@Model.method
?如果不可能,这是否意味着我不应该拥有user_required=True
,而是应该从给定 OAuth2 令牌的提供者那里获取永久用户 ID 并将其保存在数据存储区中,为该用户生成我自己的身份验证令牌,然后将该令牌传递给每个请求?
编辑:不是传递身份验证令牌,而是让经过身份验证的用户请求他们可以传递给 API 方法的“API 令牌”是否有意义?这个令牌是否必须包含在 POST 或 GET 正文中,还是可以放在标头/cookie 中(我在 SO 的其他地方看到了一些关于 Cloud Endpoints 的标头和 cookie 的问题,但从那时起已经有一段时间了)。这一切都假设非谷歌身份验证不起作用。
google-app-engine - google appengine 端点原型数据存储简单获取 id 示例返回未找到
我正在尝试简单地获取端点原型数据存储几天。
http://endpoints-proto-datastore.appspot.com/examples/simple_get.html
它有效,但它总是返回未找到。
这是通过 id 获取的 api。
https://pttbuying.appspot.com/_ah/api/pttbuying/v1/items/4504690549063680
这是我的模型代码。
这是我的api代码
我错过了什么吗?谢谢你的建议。
python - Google Cloud 端点和服务帐户返回:Oauth 框架用户与 oauth 令牌用户不匹配
我尝试使用类似于的服务帐户从 cmdline 访问 google 云端点
https://code.google.com/p/google-api-python-client/source/browse/samples/service_account/tasks.py
按照示例中的说明,我创建了一个 clientid + pk12 证书,并使用它们通过来自 oauth2client.client 模块的 SignedJwtAsertionCredential 调用创建凭据。
当我调用在本地开发服务器上运行的云端点时按预期工作但是当我调用已部署的 gae 云端点时,我得到
Oauth 框架用户与 oauth 令牌用户不匹配。
似乎在来自 user_id_token._set_bearer_user_vars() 的 oauth.get_client_id(scope) 调用上失败了。
当我在异常上添加回溯时,它看起来来自 _maybe_raise_exception
E 2014-01-02 10:30:53.926 提高 NotAllowedError(error_detail) E 2014-01-02 10:30:53.926 NotAllowedError
有没有办法在不更改应用程序的身份验证类型的情况下解决此错误?由于域限制,似乎不允许请求?
我的目标是在没有用户参与的情况下调用云端点,不确定我是否是使用 SignedJwtAsertionCredential 调用的正确路径,或者是否可能?
附加信息。
端点的身份验证类型设置为“Google App Domain”
user_required 在端点方法上为 True
当我使用https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=ya29时,从 SignedJwtAssertCredential 生成的访问令牌符合预期 。
端点按 api explorer 的预期工作,并且涉及到身份验证流。
使用 endpoints_proto_datastore 库。
google-cloud-endpoints - 如何在重复 = True 时使用 endpoints-proto-datastore 检索 ndb.KeyProperty
我想让我的 GAE 后端 API 返回一个联系人列表以及每个联系人的相应电子邮件集合。我正在使用endpoints-proto-datastore并按照此问题中的指南实施此操作。
我的问题是,当contacts_list
调用该方法时,我得到:
我猜这是因为 Contact.email_keys 可能是空的 ([]) 但不知道在哪里控制这种行为。
这是我的 API 实现的相关部分:
python-2.7 - 如何使用 endpoint-proto-datastore 返回模型以外的其他内容
我正在通过 Google Cloud Endpoints 和 endpoints-proto-datastore 库编写 API。
这是我的模型:
这是我的删除方法:
我可以退回模型本身以外的其他东西吗?如何返回特定的 HTTP 状态代码或类似 VoidMessage 的内容?