问题标签 [protorpc]

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 回答
42 浏览

google-app-engine - 使用 protopc 消息给出错误:例外类型 absolute.path.to.MyMessage 但找到 MyMessage

形成我的 ProtoRPC 消息后,我收到错误:

字段项的预期类型类 'protorpc.messages.MHistoryActivityViewMessage',找到 MHistoryActivityViewMessage\n 正文:u'Test Here'\n activity_id:'WS-MHistory_ag9zfm1jYS1kZXJyaWNrLTFyGQsSEE1IaXN0b3J5QWN0aXZpdHkYsbyuBAw'

[...]

我多次遇到这个问题,预期类型是“absolute.path.to.MyMessage”,但找到的类型是“MyMessage”。

我很困惑为什么我会收到这个错误。我已经多次收到此错误。有时可行的一种解决方法是将文件中的 protopc 消息定义向上移动。

任何提示或想法?

0 投票
2 回答
382 浏览

javascript - Angularjs + GAE + 端点

我正在尝试将 angularjs 与谷歌应用程序引擎和端点一起使用。我有一个很小的测试应用程序,它带有一个小的 API,我用它来使用带有 GAE 端点的角度来了解情况。“用户”输入文本并单击提交以返回条目。当我从谷歌的应用引擎平台执行此操作时,它可以工作,但我正在努力在客户端实现它。非常感谢任何帮助。

截屏

在此处输入图像描述

主文件

base.html

控制器.js

0 投票
1 回答
55 浏览

python-2.7 - Google Cloud Endpoints 多获取

我有一个来自 Endpoints Proto Datastore API 的名为 Resource 的 EndpointsModel,我正在使用 Resource.query().fetch(10) 请求 10 个项目。

问题是它返回了一个资源数组,但根据“创建端点 API”的文档,我需要返回一个消息数组。

https://cloud.google.com/appengine/docs/python/endpoints/create_api

使用 Google Cloud Enpoints 的 Proto RPC 消息

有没有一种标准方法可以将我的模型数组转换为消息,或者 for 循环是最有效的方法吗?

提前致谢!

0 投票
2 回答
77 浏览

google-app-engine - ProtoRPC 消息类定义

我正在构建一个 Cloud Endpoint 来处理来自 Firebase 应用程序的请求。我希望端点接收这样的 Firebase 数据库对象:

所以我创建了一个 Message 类来处理这个请求:

但我找不到在 ProtoRPC 中创建有效消息类来定义该对象的方法,因为 Firebase 添加的字段名称中的“$”。

0 投票
1 回答
88 浏览

google-app-engine - 是否支持 Dart for Google Endpoints 中的查询参数?

我有一个从自定义 Google 端点获取数据的 Dart 应用程序。我正在使用 discoveryapis_generator 生成客户端库。我想发出如下查询:

endpoints_api.dart是 discoveryapis_generator 生成的客户端库generate.dartMyApi是我的自定义端点 API,photos是它的服务之一。我认为 Photo是一个端点模型类,它有一个实例属性post_id

发出请求会导致错误,即 Photo 没有静态 getter“post_id”。这与 Python API 中查询的语法很接近,所以这是我能想到的在此处指定它的唯一方法。

我不知道还有什么可以帮助描述我的请求。希望这是不言而喻的。这里描述了一个积极的增强,但它似乎是指限制响应中的字段,而不是项目。

更新:

在客户端库中四处寻找,我找到了list方法的来源。看起来确实支持查询参数。但在我看来,这并不完全正确。形参列表包含 API 中用大括号括起来的查询参数:

但在方法体中,有以下内容:

括号是否从参数列表中[regionId]提取?region

我将大括号从参数列表中拉出。因为我只期望通过 查询postId,所以这是唯一的参数:

瞧。我现在可以通过在调用中指定它的值来向查询添加一个参数:

0 投票
2 回答
570 浏览

python - 将 proto 缓冲区转换为 ProtoRPC

在 Python 脚本中mylibrary.py,我使用Protocol Buffers使用以下方法对数据进行建模:

  • 在 .proto 文件中定义消息格式。
  • 使用协议缓冲区编译器。
  • 使用 Python 协议缓冲区 API 在 .py 模块中写入和读取消息。

我想在 App Engine 上实现 Cloud Endpoints Frameworkimports使用上述 Python 脚本,但是 Cloud Endpoints 使用ProtoRPC,而不是“标准” Protocol Buffers

我的 App Engine Python 模块,从而不是使用“离线”编译器main.py导入来生成序列化和反序列化代码:protorpcprotoc

消息不是使用.proto文件定义的。相反,定义了类,继承自protorpc.messages.Message

可以将 Proto Buffers 转换为 Proto RPC 等价物吗?我真的不想mylibrary.py改用 ProtoRPC,因为它不如Protocol Buffers通用。

0 投票
19 回答
162951 浏览

python - Visual Studio Code pylint:无法导入“protorpc”

我在Visual Studio Code中使用pylint在 Python 中开发 Google App Engine (GAE) Cloud Endpoint API。我无法解决 lint 错误。我不知道是什么导致了错误,但猜测是,pylint找不到库?protorpc

在此处输入图像描述

故障排除 Linting中推荐的修复方法是将工作区设置配置为指向完全限定的 python 可执行文件。我已经这样做了,但是 lint 错误仍然存​​在。

在此处输入图像描述

protorpc本身安装到:

...这包含remote.py无法导入的模块:

我已将此路径添加到$PYTHONPATH(连同厨房水槽):

该应用程序在本地运行,并且在部署时也运行,所以这似乎只是一个 lint 错误,但令人沮丧的是我无法解决它。

使用第三方库说明:

标准环境中的 Python 运行时包括 Python 标准库、App Engine 库和一些捆绑的第三方包。

因此,我假设“App Engine 库”包括protorpc,但我不确定。此外,将 Cloud Endpoints Frameworks 库添加到示例 API只需将 google-endpoints 安装到应用的 lib 目录:

我的意思是,我不认为我没有安装任何东西,而且我认为我的(网络)应用程序的 lib 目录中没有任何遗漏。

0 投票
0 回答
312 浏览

python - 本地主机上的 Google API Explorer - 404 Not Found

我正在使用 dev_appserver.py 在本地运行 web 应用程序我的应用程序在 localhost:8080 上正常运行当我尝试访问 Api 端点资源管理器 @ localhost:8080/_ah/api/explorer 时,我收到 404 错误

控制台日志:

INFO 2017-11-07 05:59:24,864 module.py:821] default: "GET /_ah/api/explorer HTTP/1.1" 404 154

应用程序.yaml

api.py

https://developers.google.com/apis-explorer/?base=http://localhost:8080/_ah/api#p/

打开 api 资源管理器,我启用了运行不安全的脚本。但它仍然没有显示我的api

0 投票
1 回答
84 浏览

python - 在 GAE ProtoRPC 中返回 JSON 字段

我想构造一个这样的任意json并动态返回给用户

但似乎没有字段可以传入 json。可用的字段有 StringField、BytesField 等,

如何返回一个json对象?

0 投票
1 回答
37 浏览

google-app-engine - 什么是与 Cloud Endpoints 相关的客户端库?

我今年 13 岁,正在学习 Google App Engine。

就 Google Cloud Endpoints 而言,“客户端库”之间有什么关系?

据我了解,客户端库是“较小的东西”,它是 Google Cloud Endpoints 的一部分,客户端(用户)能够将其合并到他的应用程序中,然后能够与 Cloud Endpoints 进行通信。

谢谢你。