小编bos*_*ter的帖子

protorpc使用FieldList从调用者读取列表

我有一个webservice应该从调用者读取列表,做一些工作,然后返回一个响应.

  @endpoints.method(ARequestMessage, AResponseMessage,
                    name="call", path="call")
  def call(self, request):
    aList = request.in_list
    for stuff in aList:
       "do work here"
    return when I am done
Run Code Online (Sandbox Code Playgroud)

以下ARequestMessage课程会起作用吗?

class ARequestMessage(messages.Message):
  name = messages.StringField(1, required=True)
  in_list = messages.FieldList(2, required=True)
Run Code Online (Sandbox Code Playgroud)

我不确定我FieldList在结构或上下文中的用法.请包含一些代码作为回应.

google-app-engine python-2.7 protorpc google-cloud-endpoints

4
推荐指数
1
解决办法
424
查看次数

在App Engine(python)之外使用数据存储区?

我习惯使用Google Cloud SQL,您可以在其中连接到GAE之外的数据库.这样的GAE数据存储是否可以这样,理想地使用Python NDB接口?

基本上,我的用例是我想运行预先填充和清理数据存储区的验收测试.

看起来当前的选项是JSON API或协议缓冲区 - 测试版.如果是这样,那就是一种痛苦,那么我不能使用我的NDB模型填充数据,但必须重新实现它们以进行测试,并担心它们没有像以前那样保存到数据存储区.通过申请.

只是检查我没有错过什么....

PS.是的我知道remote_api_shell,但我不想要shell.我猜管道命令是一种方式,但ugghh ......

google-app-engine python-2.7 google-cloud-datastore gcloud-python google-cloud-python

4
推荐指数
1
解决办法
852
查看次数

将Google Cloud Datastore与NDB API配合使用?

有关使用NDB API和Google App Engine数据存储区的大量信息,但我找不到有关如何将NDB与Google Cloud Datastore一起使用的任何信息.我发现的唯一模块是googledatastore,它是非常原始的库.

App Engine数据存储区与云数据存储区有何不同?NDB是否可用于云数据存储?

python google-app-engine google-cloud-datastore gcloud-python google-cloud-python

4
推荐指数
1
解决办法
1113
查看次数

比较生成的和谷歌云存储的难度提供了CRC32c校验和

我attemptting得到CRC32c我的本地文件的校验和,所以我可以把它比作blob.crc32c由gcloud库提供.谷歌说我应该使用crcmod模块来实际计算CRC32c我的数据的哈希值.

modifiedFile.txt 已从Google云端存储桶下载到我的本地文件系统.

这里的目标是,should_download只有在我的本地客户端与远程服务器上modifiedFile.txt有不同的情况时才设置为true CRC32c.CRC32c如果我的本地文件系统和我的gcloud Blob都具有相同的内容,我如何让它们生成匹配?

from crcmod import PredefinedCrc
from gcloud import storage

# blob is a gcloud Blob object

should_download = True

with open('modifiedFile.txt') as f:
  hasher = PredefinedCrc('crc-32c')
  hasher.update(f.read())
  crc32c = hasher.digest()
  print crc32c # \207\245.\240
  print blob.crc32c # CJKo0A==
  should_download = crc32c != blob.crc32c
Run Code Online (Sandbox Code Playgroud)

不幸的是,它目前总是失败,因为我实际上并不知道如何将我构建的校验和与crcmod我在匹配Blob对象中看到的属性进行比较.

python crc32 google-cloud-storage gcloud-python google-cloud-python

4
推荐指数
1
解决办法
779
查看次数

尝试使用适用于python的Google API客户端将UTF-8文本文件上传到Google云端硬盘时,我收到了UnicodeDecodeError

这个问题仍未解决!如果你知道,请回答

窃听器

我在这里提交了一个错误

http://code.google.com/p/google-api-python-client/issues/detail?id=131&thanks=131&ts=1335708962

在处理我的gdrive-cli项目时,我遇到了这个错误,试图使用"text/plain"mime-type上传UTF-8降价文件.我也试过"text/plain; charset = utf-8"并得到了相同的结果.

这是我得到的堆栈跟踪:

Traceback (most recent call last):
  File "./gdrive-cli", line 155, in <module>
    handle_args(args)
  File "./gdrive-cli", line 92, in handle_args
    handle_insert(args.insert)
  File "./gdrive-cli", line 126, in handle_insert
    filename)
  File "/home/tom/Github/gdrive-cli/gdrive/gdrive.py", line 146, in insert_file
    media_body=media_body).execute()
  File "/usr/local/lib/python2.7/dist-packages/apiclient/http.py", line 393, in execute
    headers=self.headers)
  File "/usr/local/lib/python2.7/dist-packages/oauth2client/client.py", line 401, in new_request
    redirections, connection_type)
  File "/usr/local/lib/python2.7/dist-packages/httplib2/__init__.py", line 1544, in request
    (response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey)
  File "/usr/local/lib/python2.7/dist-packages/httplib2/__init__.py", line …
Run Code Online (Sandbox Code Playgroud)

python google-drive-api google-api-python-client

3
推荐指数
1
解决办法
2825
查看次数

GAE中的OAuth2身份验证访问Calendar API V3(域托管)

我正在用Python开发一个Google App Engine应用程序.我正在使用:

  • Google Calendar API v3(用于访问我自己域中的日历.因此,这是我的域中安装的Google Apps)
  • 适用于Python的Google API客户端库.
  • OAuth2对我的域用户进行身份验证(name@mydomain.com)

我以为我必须使用服务帐户,因为这样:

"如果您的App Engine应用程序需要调用API来访问应用程序项目拥有的数据,则可以使用服务帐户简化OAuth 2.0"

摘自https://developers.google.com/api-client-library/python/platforms/google_app_engine#ServiceAccounts

但我不确定我是否误解了某些东西.我的方案(GAE应用尝试在我自己的域中访问Google Apps)是服务帐户的候选人吗?

我已经尝试了几种方法来处理OAuth2:

  • 如上所述,有了服务帐户
  • 使用Python API客户端库提供的Python装饰器(OAuth2Decorator和OAuth2DecoratorFromClientSecrets)

在这两种情况下,我都会遇到同样的错误:

我完全迷失了.有线索吗?

提前谢谢了

python google-app-engine google-calendar-api oauth-2.0 google-api-python-client

3
推荐指数
1
解决办法
2725
查看次数

Google API客户端机密错误(Python)

我想从Google Analytics中检索数据.我在控制台中创建了一个服务帐户,我正在使用Google的Python(hello_analytics_api_v3.py)代码来访问数据.

我已将其复制client_secrets.json到我的文件夹中但收到此错误:

*SystemExit: 
WARNING: Please configure OAuth 2.0
To make this sample run you will need to populate the client_secrets.json file
found at:*
Run Code Online (Sandbox Code Playgroud)

我该怎么办?我使用的是Python 2.7.

python google-app-engine google-api-python-client

3
推荐指数
1
解决办法
1万
查看次数

使用endpoints-proto-datastore,如何将属性传递给EndpointsModel中未包含的方法

我试图将属性传递给我的EndpointsModel中未包含的API调用.例如,假设我有以下型号:

class MyModel(EndpointsModel):
  attr1 = ndb.StringProperty()
Run Code Online (Sandbox Code Playgroud)

然后假设我想attr2作为参数传入,但我不想attr2用作过滤器,也不希望它存储在模型中.我只是想传入一些字符串,在方法内部检索它并使用它来执行一些业务逻辑.

该文档描述了query_fields用于指定要传递给方法的字段的参数,但这些参数似乎与模型中包含的属性相关联,因此您无法传递模型中未指定的属性.

同样,文档声明您可以通过路径变量传递属性:

@MyModel.method(request_fields=('id',),
                path='mymodel/{id}', name='mymodel.get'
                http_method='GET')
def MyModelGet(self, my_model):
  # do something with id
Run Code Online (Sandbox Code Playgroud)

但这需要您更改URL,此外它似乎具有与query_fields(该属性必须存在于模型中)相同的约束.

google-app-engine google-cloud-endpoints endpoints-proto-datastore

3
推荐指数
1
解决办法
850
查看次数

使用endpoint-proto-datastore时设置父键但不设置子键

如何为EndpointsModel设置父/祖先,并让数据存储自动生成实体ID/Key?

我已经尝试调整keys_with_ancestors样本但似乎碰到了一个块,因为它需要指定id和parent.我想做类似的事情,除了只提供父ID或密钥,并由app引擎数据存储自动生成实体ID /密钥.

以下显示了如何使用NDB进行此操作.

class Parent(ndb.Model):
    name = ndb.StringProperty()

class MyModel(ndb.Model):
    attr1 = ndb.StringProperty()
    attr2 = ndb.StringProperty()

p = Parent(name="Jerry")
p_key = p.put()  # or retrieve the key from somewhere else

mod = MyModel(parent=p_key)
mod.put()
Run Code Online (Sandbox Code Playgroud)

这有可能吗,有人能指出我正确的方向吗?谢谢.

python google-app-engine google-cloud-endpoints endpoints-proto-datastore

3
推荐指数
1
解决办法
1407
查看次数

Google App Engine库导入

我一直在尝试使用Google App Engine,我正在尝试导入某些库以执行API命令.然而,我一直无法导入.当我尝试执行"来自apiclient.discovery import build"时,我的网站不再加载.当我在IDLE中进行本地测试时,此命令有效.

python google-app-engine google-api google-api-client google-api-python-client

0
推荐指数
1
解决办法
2096
查看次数