远程调用Python QuickStart Mirror API

时间:2014-01-13 23:15:23

标签: python google-glass google-mirror-api aero-glass

我使用过Python Starter项目,我可以添加时间线卡,然后显示在我的Glass上。

我想要做的是从Mac上运行的独立应用程序调用端点,以触发Python逻辑将条目插入时间线。

关于我应该从哪里开始的任何想法?

编辑:不知道为什么这个被投了票。我基本上想从目标C插入卡片到我的时间线。经过一段时间的挖掘后,我能够使用Google提供的与他们的服务进行交互的Objective C库来解决这个问题。

1 个答案:

答案 0 :(得分:1)

插入时间轴项目的代码将大致相同,但您需要使用不同的流程来获取访问令牌。您可能希望使用OAuth 2.0 flow for installed applications,这也是Python API Client Library docs中的文档。

您的玻璃器皿可能会起到这样的作用:

  1. 创建新流程

    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')
    
  2. 创建一个Auth URL并指示用户在Web浏览器中访问它

    auth_uri = flow.step1_get_authorize_url()
    print 'Please navigate here ' + auth_uri
    

    这将产生一个代码。让用户将该代码粘贴给您。

  3. 交换凭据代码

    credentials = flow.step2_exchange(code) 
    
  4. 存储这些凭据以供以后在文件,数据库或其他一些永久存储中使用。这就是您将项目插入用户时间线的方式。

  5. 使用凭据,将项目插入其时间轴

    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()