2014-01-13 66 views
0

我已經使用了Python Starter項目,並且可以添加時間線卡,然後顯示在我的Glass上。遠程調用Python QuickStart鏡像API

我想要做的就是調用運行在我的Mac上的獨立應用程序中的端點,以觸發Python邏輯將條目插入到時間線中。

我應該從哪裏開始的任何想法?

編輯:不知道爲什麼這是倒投了。我基本上想從Objective C中插入卡片到我的時間線上。經過一段時間的挖掘後,我可以使用Google提供的用於與他們的服務進行交互的Objective C庫來弄清楚這一點。

回答

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. 創建一個驗證網址,並指導用戶訪問它在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() 
    
+0

珍妮 - 我認爲這會有所幫助,但我實際上是試圖做不同的事情。事實上,我試圖從Objective C應用程序中調用我的Python鏡像API。我可以在main_handler.py中看到post方法有一個註解(@ util.auth_required)。 – Beebunny

+0

我基本上試圖做的是向我的應用程序 (即myapp.appspot.com)發出發佈請求,併爲POST變量「operation」提供適當的值。 – Beebunny

+0

@ util.auth_required是oauth裝飾器。這是Google Python API客戶端庫的一項功能,可以自動化OAuth流的某些部分。但是我很好奇,你是在你的Objective C應用程序中實際執行Python還是試圖學習如何在Objective C中實現它? – mimming