远程调用Python快速启动镜像API
我已经使用了Python初学者项目,我可以添加时间线卡,然后显示在我的眼镜上 我想做的是从运行在Mac上的独立应用程序调用端点,以触发Python逻辑将条目插入时间线 我该从哪里开始呢远程调用Python快速启动镜像API,python,google-glass,google-mirror-api,aero-glass,Python,Google Glass,Google Mirror Api,Aero Glass,我已经使用了Python初学者项目,我可以添加时间线卡,然后显示在我的眼镜上 我想做的是从运行在Mac上的独立应用程序调用端点,以触发Python逻辑将条目插入时间线 我该从哪里开始呢 编辑:不知道为什么这被否决了。我基本上是想从Objective C向我的时间线插入卡片。经过一段时间的挖掘,我能够利用谷歌提供的Objective C库与他们的服务进行交互。你插入时间线项目的代码基本相同,但是您需要使用不同的流来获取您的访问令牌。您可能希望使用中的文档 您的玻璃器皿可能工作如下: 创建一个新的流
编辑:不知道为什么这被否决了。我基本上是想从Objective C向我的时间线插入卡片。经过一段时间的挖掘,我能够利用谷歌提供的Objective C库与他们的服务进行交互。你插入时间线项目的代码基本相同,但是您需要使用不同的流来获取您的访问令牌。您可能希望使用中的文档 您的玻璃器皿可能工作如下:
from oauth2client.client import OAuth2WebServerFlow
...
flow = OAuth2WebServerFlow(client_id='your_client_id',
client_secret='your_client_secret',
scope='https://www.googleapis.com/auth/glass.timeline',
redirect_uri='urn:ietf:wg:oauth:2.0:oob')
auth_uri = flow.step1_get_authorize_url()
print 'Please navigate here ' + auth_uri
这将生成一个代码。让用户向您粘贴该代码credentials = flow.step2_exchange(code)
http = httplib2.Http()
http = credentials.authorize(http)
mirror_service = build("mirror", "v1", http=http)
body = {
'notification': {'level': 'DEFAULT'},
'text':'Hello world!'
}
timeline_item = mirror_service.timeline().insert(body=body).execute()
詹妮-我认为这很有帮助,但我实际上正在尝试做一些不同的事情。事实上,我正试图从一个Objective C应用程序调用我的Python镜像API。我可以在main_handler.py中看到post方法有一个注释(@util.auth_required)。我实际上试图做的是向我的应用程序(即myapp.appspot.com)发出post请求,并为它提供post变量“operation”的正确值。@util.auth_required是oauth装饰程序。它是GooglePythonAPI客户端库的一个特性,它自动化了OAuth流的某些部分。但我很好奇,你是真的在你的Objective C应用程序中执行Python,还是只是想学习如何在Objective C中实现它?Jenny,如果我从post或get方法中删除@util.auth_required并部署,当我转到我的应用程序时,我会遇到500个内部服务器错误。啊,现在我明白了。这听起来像是一个相当复杂的应用程序。您将无法使用装饰器,但仍需要凭据才能发出请求。当你从Objective C应用程序发布帖子时,你需要包含一些关于用户身份的标识符。然后,在web服务器上,使用此标识符调用先前从OAuth流存储的该用户的凭据。最后,使用这些凭据创建镜像服务对象,如我的回答中所述。