2016-10-20 64 views

回答

1

此修復程序幫助我解決了該問題。我沒有提到谷歌應用程序授權重定向網址中的回調鏈接。 一旦加入,我是能夠產生手錶事件,並能夠接收推送通知消息以及

1

要在谷歌日曆使用Push Notifications確保您按照這裏的指示:

  1. 註冊您接收URL中的域名Google開發者控制檯。轉到憑據並點擊域名驗證進行webhook設置。

enter image description here

例如,如果你打算使用https://yourdomainexample.com/notifications作爲接收URL,你需要註冊https://yourdomainexample.com。 設置您的接收URL或「Webhook」回叫接收器。

  1. 這是一個HTTPS服務器,用於處理資源更改時觸發的API通知消息。

  2. 爲要觀看的每個資源端點設置通知通道。

通道指定通知消息的路由信息​​。作爲頻道設置的一部分,您需要確定要接收通知的特定網址。每當頻道的資源發生變化時,Google Calendar API都會將通知消息作爲POST請求發送到該網址。

您也可以查看此SO thread以獲取其他參考。

+0

感謝您的回覆...但它仍然不起作用 –

+0

noogui:我遵循谷歌文檔的前提條件以及上述線程 –

+0

將你的代碼分享給社區你是如何做到的。 – noogui

0

推送通知,要求您確認域名所有權,所以不能在API瀏覽器來創建,因爲它沒有提供一種將請求與您已驗證所有權的項目相關聯的方法。這可以在OAuth遊樂場做,如果你使用的項目憑證,詳情如下:

  • 配置API項目:

    1. 在訪問你的https://console.developers.google.com/project/ API項目。
    2. 確保您已根據https://developers.google.com/admin-sdk/directory/v1/guides/push#registering-your-domain的說明註冊了您網站的HTTPS版本。
    3. 從產品&服務菜單(左上三條水平線),選擇'API Manager',然後選擇'Enabled APIs'選項卡,並確保啓用相應的API。
    4. 選擇'Credentials',然後從'Add credentials'下拉列表中選擇'Oauth client ID'。
    5. 如果以前未配置,系統會提示您配置同意屏幕,因此單擊「配置同意屏幕」。'如果是這樣,請輸入您的電子郵件地址和產品名稱,然後單擊'保存'。
    6. 選擇「Web應用程序」,然後輸入客戶端ID的名稱。
    7. 在'授權的Javascript起源'下輸入'https://developers.google.com'。
    8. 在'授權重定向URI'下,輸入'https://developers.google.com/oauthplayground'。
    9. 點擊'創建客戶端ID'。
  • 配置OAuth園地:

    1. 導航至https://developers.google.com/oauthplayground/
    2. 點擊右上角的「OAuth 2.0配置」(齒輪圖標)。
    3. 選中「使用您自己的OAuth憑據」。
    4. 將API項目的「Credentials」頁面中的'Client ID'粘貼到'OAuth Client ID'中。
    5. 將API項目的「Credentials」頁面中的'Client Secret'粘貼到'OAuth Client secret'中。
    6. 點擊「關閉」。
  • 授權API請求:

    1. 在「輸入自己的作用域」輸入https://www.googleapis.com/auth/admin.directory.user
    2. 點擊'授權API'。
    3. 系統會提示您允許訪問您的網域的API,因此請點擊「允許訪問」。
    4. 您將看到「HTTP/1.1 302 Found」響應。單擊「兌換令牌的授權代碼」。
    5. 你應該看到'HTTP/1.1 200 OK'。該頁面將在一會兒下降到下一部分。
    6. 選擇POST作爲'HTTP方法'。
    7. 點擊 '輸入請求體',並輸入您的要求,例如:

      { "id": "c887ce64-adc8-4007-952c-a172c376b30d", "type": "web_hook", "address": "https://example.com/watch" }

    8. 單擊 '關閉' 完成時。

    9. 輸入URI你想要監控的資源,用適當的日曆ID替換{} calendarId,例如: https://www.googleapis.com/calendar/v3/calendars/[email protected]/events/watch
    10. 點擊「發送請求。」

    11. 您會收到類似的響應:

      { "resourceId": "DmuNd7MI-w7qwW1FxDNf_pdqk7Y", "kind": "api#channel", "expiration": "1507327087000", "id": "c887ce64-adc8-4007-952c-a172c376b30d", "resourceUri": "https://www.googleapis.com/calendar/v3/calendars/[email protected]/events?maxResults=250&alt=json" }

注:推送通知其他API,例如Directory API,可能有額外的參數。有關詳細信息,請查閱相關參考文檔

相關問題