远程调用Python快速启动镜像API

远程调用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库与他们的服务进行交互。你插入时间线项目的代码基本相同,但是您需要使用不同的流来获取您的访问令牌。您可能希望使用中的文档 您的玻璃器皿可能工作如下: 创建一个新的流

我已经使用了Python初学者项目,我可以添加时间线卡,然后显示在我的眼镜上

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

我该从哪里开始呢


编辑:不知道为什么这被否决了。我基本上是想从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')
    
  • 创建身份验证URL并指示用户在web浏览器中访问它

    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流存储的该用户的凭据。最后,使用这些凭据创建镜像服务对象,如我的回答中所述。