1. ホーム
  2. google-api

[解決済み] Google Calendar APIのコンテキストにおける404とはどういう意味ですか?

2022-02-19 05:56:39

質問

私が所有しているカレンダーに、プログラムを使ってアクセスしようとしています。 Google カレンダー API list :

r = requests.get(
        url="https://www.googleapis.com/calendar/v3/calendars/<the ID of my calendar which looks like [email protected]>/events",
        params={
            'key': <the key from the API console>,
            'singleEvents': True,
            'orderBy': 'startTime'
        }

この呼び出しは 404 :

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "notFound",
    "message": "Not Found"
   }
  ],
  "code": 404,
  "message": "Not Found"
 }
}

このエラーは実際には何を意味しているのでしょうか。 この API のコンテキストでは ?

注意してください。

  • カレンダーは存在し、イベントもあります。
  • API の制限に達することはありません。

解決するには?

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "notFound",
    "message": "Not Found"
   }
  ],
  "code": 404,
  "message": "Not Found"
 }
}

2つのうちの1つを意味します。 入力されたカレンダーIDが正しいか、認証されたユーザーがそのカレンダーにアクセスできないかのどちらかです。 そのカレンダーにアクセスできる正しいユーザーでログインしていることを確認してください。 オプションで カレンダーリスト これは、そのユーザーが現在アクセス可能なカレンダーのリストを返します。 これなら、カレンダーIDの入力ミスを心配する必要がありません。

オーソライズ

使用しているメソッド イベントリスト は、ユーザーのカレンダーにアクセスするために、認可(ユーザーからの許可)が必要です。これは、ドキュメント・ページで確認することができます。

Oauth2と上記のスコープのいずれかを使用してユーザーを認証する必要があります。 その後、このカレンダーにアクセスするためのアクセストークンを取得します。

アピキー

Apiキーは、公開データにアクセスするために使用されます。 カレンダーを公開に設定しない限り、そのカレンダーを使用してイベントを見ることはできません。 また、公開カレンダーを更新するためには、認証が必要であることも覚えておいてください。

サービスアカウント

サーバー間のアプリケーションの場合、APIキーではなく、サービスアカウントを使用する必要があります。必要なことは、他のユーザーと同じように、サービスアカウントをGoogleカレンダーのユーザーとして追加することです。 そうすれば、あなたのカレンダーにアクセスすることができます。