Google カレンダーのウォッチ リクエストに Python を使用する

ジョナサン

Pythonを使用して(別のドメインを設定せずに)Googleカレンダーの監視リクエストを設定したい。

  1. API クライアントをインポートし、https : //developers.google.com/google-apps/calendar/quickstart/pythonの例に従って、認証された資格情報を正常に取得できます

  2. 次に、カレンダー サービスを設定すると、問題なくイベントを一覧表示、挿入、および削除できます。

私が抱えている問題は、ウォッチ リクエストを実行して、Python 内から Webhook を取得するときです。次のエラーが表示されます: 「googleapiclient.errors.HttpError: https://www.googleapis.com/calendar/v3/calendars/primary/events/watch?alt=json が「WebHook コールバックは HTTPS である必要があります:">」

明らかに、カレンダーが私が提供している Webhook に満足するように設定する必要のある何かが欠けています。https を使用して別のドメインを設定せずに、Python 内からこれを行うことは可能ですか?

最小動作例:


import httplib2
import os
from apiclient import discovery
from oauth2client import client
from oauth2client import tools
from oauth2client.file import Storage
import uuid

try:
    import argparse
    flags = argparse.ArgumentParser(parents=[tools.argparser]).parse_args()
except ImportError:
    flags = None

SCOPES = 'https://www.googleapis.com/auth/calendar'
CLIENT_SECRET_FILE = 'client_secret.json'
APPLICATION_NAME = 'Calendar API'


def get_credentials():

    home_dir = os.path.expanduser('~')
    credential_dir = os.path.join(home_dir, '.credentials')

    if not os.path.exists(credential_dir):
        os.makedirs(credential_dir)
    credential_path = os.path.join(credential_dir,
                                   'calendar-api.json')

    store = Storage(credential_path)
    credentials = store.get()

    if not credentials or credentials.invalid:
        flow = client.flow_from_clientsecrets(CLIENT_SECRET_FILE, SCOPES)
        flow.user_agent = APPLICATION_NAME
        if flags:
            credentials = tools.run_flow(flow, store, flags)
        else: 
            credentials = tools.run(flow, store)
        print('Storing credentials to ' + credential_path)
    return credentials


def main():

    credentials = get_credentials()
    http = credentials.authorize(httplib2.Http())
    service = discovery.build('calendar', 'v3', http=http)


## TESTING callback receiver: 
    eventcollect = {
        'id': str(uuid.uuid1()),
        'type': "web_hook"
    }

    service.events().watch(calendarId='primary', body=eventcollect).execute()


if __name__ == '__main__':
    main()
ハイボール

ウォッチリクエストのドキュメントにRequired Properties一部あります。この部分では、次のことが明確に述べられています。

  • addressURLへのプロパティ文字列を設定することを、この通知チャネルの通知をリッスンし、応答します。これは Webhook コールバック URL であり、HTTPS を使用する必要があります

申し訳ありませんが、これに対する回避策はないと思います。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

すべてのGoogleカレンダーウォッチリクエストをキャンセルする

分類Dev

GoogleカレンダーのAPIクォータ:1,000人のユーザーに1つのGoogleアカウントを使用する

分類Dev

GoogleリマインダーへのPythonのoauth2clientPOSTリクエストに相当するPHP

分類Dev

GoogleリマインダーへのPythonのoauth2clientPOSTリクエストに相当するJavaScript

分類Dev

Google Charts、AJAXリクエストによるカレンダーの実装

分類Dev

PythonとGoogleカレンダーAPIを使用してGoogleカレンダーイベントを作成する方法

分類Dev

Google App Engine Pythonを使用して、外部リンクからGoogleクラウドストレージに画像をアップロードする

分類Dev

PythonライブラリからGoogleストリートビューリクエストに署名する方法は?

分類Dev

Googleカレンダーの予定日をフォーマットする

分類Dev

GoogleカレンダーAPI:ユーザーが自分のアカウントでリクエストできるようにする

分類Dev

カスタムパラメータに基づいてテーブル名にPythonのような文字列フォーマットを使用してGoogleデータスタジオでbigqueryテーブルをクエリする方法は?

分類Dev

C#を使用してGoogleアカウントのExcelにすべてのスプレッドシートをダウンロードする

分類Dev

Googleスプレッドシートを使用してGoogleドライブにあるPythonスクリプトをトリガーする

分類Dev

ライブラリを使用せずにGoogleカレンダーAPIのPOSTリクエストを送信する方法はありますか?Java

分類Dev

PythonスクリプトをGoogleスプレッドシートスクリプトに変換する

分類Dev

PythonでRESTAPI(Google VisionのAPI)リクエストを送信するにはどうすればよいですか?

分類Dev

Google カレンダーのデスクトップ通知を無効にする

分類Dev

Python google colabを使用して、バウンディングボックス付きの画像をフォルダに保存する方法は?

分類Dev

Pythonを使用してリストをCSVにエクスポートする

分類Dev

Googleカレンダーイベントウォッチ401無許可

分類Dev

GoogleカレンダーAPIから悪いリクエストを取得する

分類Dev

マルチダウンロードにスレッドを使用する方法のPython

分類Dev

Pythonを使用してGoogleクラウドストレージから複数のファイルをダウンロードする

分類Dev

Google EarthEngineでPythonを使用して結果をエクスポートする方法

分類Dev

VisualStudioCodeを使用してPythonにリクエストをインポートする

分類Dev

google ml api pythonクライアントでリクエストタイムアウトを設定するにはどうすればよいですか?

分類Dev

OAuthを使用する場合のGoogleカレンダー「リクエストに有効なAPIキーがありません」

分類Dev

Pythonを使用してGoogleフォームをGoogleシートにリンクする方法

分類Dev

どのように私は、サービスアカウントの資格情報を使用してGoogleチームドライブ内のフォルダにファイルをアップロードすることができますか?

Related 関連記事

  1. 1

    すべてのGoogleカレンダーウォッチリクエストをキャンセルする

  2. 2

    GoogleカレンダーのAPIクォータ:1,000人のユーザーに1つのGoogleアカウントを使用する

  3. 3

    GoogleリマインダーへのPythonのoauth2clientPOSTリクエストに相当するPHP

  4. 4

    GoogleリマインダーへのPythonのoauth2clientPOSTリクエストに相当するJavaScript

  5. 5

    Google Charts、AJAXリクエストによるカレンダーの実装

  6. 6

    PythonとGoogleカレンダーAPIを使用してGoogleカレンダーイベントを作成する方法

  7. 7

    Google App Engine Pythonを使用して、外部リンクからGoogleクラウドストレージに画像をアップロードする

  8. 8

    PythonライブラリからGoogleストリートビューリクエストに署名する方法は?

  9. 9

    Googleカレンダーの予定日をフォーマットする

  10. 10

    GoogleカレンダーAPI:ユーザーが自分のアカウントでリクエストできるようにする

  11. 11

    カスタムパラメータに基づいてテーブル名にPythonのような文字列フォーマットを使用してGoogleデータスタジオでbigqueryテーブルをクエリする方法は?

  12. 12

    C#を使用してGoogleアカウントのExcelにすべてのスプレッドシートをダウンロードする

  13. 13

    Googleスプレッドシートを使用してGoogleドライブにあるPythonスクリプトをトリガーする

  14. 14

    ライブラリを使用せずにGoogleカレンダーAPIのPOSTリクエストを送信する方法はありますか?Java

  15. 15

    PythonスクリプトをGoogleスプレッドシートスクリプトに変換する

  16. 16

    PythonでRESTAPI(Google VisionのAPI)リクエストを送信するにはどうすればよいですか?

  17. 17

    Google カレンダーのデスクトップ通知を無効にする

  18. 18

    Python google colabを使用して、バウンディングボックス付きの画像をフォルダに保存する方法は?

  19. 19

    Pythonを使用してリストをCSVにエクスポートする

  20. 20

    Googleカレンダーイベントウォッチ401無許可

  21. 21

    GoogleカレンダーAPIから悪いリクエストを取得する

  22. 22

    マルチダウンロードにスレッドを使用する方法のPython

  23. 23

    Pythonを使用してGoogleクラウドストレージから複数のファイルをダウンロードする

  24. 24

    Google EarthEngineでPythonを使用して結果をエクスポートする方法

  25. 25

    VisualStudioCodeを使用してPythonにリクエストをインポートする

  26. 26

    google ml api pythonクライアントでリクエストタイムアウトを設定するにはどうすればよいですか?

  27. 27

    OAuthを使用する場合のGoogleカレンダー「リクエストに有効なAPIキーがありません」

  28. 28

    Pythonを使用してGoogleフォームをGoogleシートにリンクする方法

  29. 29

    どのように私は、サービスアカウントの資格情報を使用してGoogleチームドライブ内のフォルダにファイルをアップロードすることができますか?

ホットタグ

アーカイブ