Google Calendar v3 APIで実行しようとしている比較的単純なタスクがありますが、404エラーが発生し続けます。1つのカレンダー(クライアントに属する)にアクセスし、Javascriptを介して(Ajax呼び出しでプロトコルを使用するだけで)読み取り専用のイベントデータを取得するだけでよいので、認証の使用を避けようとしています。
カレンダーの共有設定で[このカレンダーを他のユーザーと共有する]をクリックし、[このカレンダーを公開する]を選択してカレンダーを公開しました。ただし、公開するオプションは[空き時間情報のみを表示(詳細を非表示)]のみです。 「」
そのことに気づいたので、各イベントを編集して、タイプを「パブリック」に具体的に設定しました。
これで、カレンダーリソースからeventListを取得できますが、配列内の各アイテムの詳細はごくわずかです(以下を参照)。そして、個々のイベントにアクセスしようとすると、404が表示されます。
基本的なテストカレンダーを試してみましたが、カレンダーの共有設定が問題であると確信しています。クライアントのカレンダーと私が使用したテストカレンダーの主な違いは、彼のカレンダーがGoogle AppsforBusinessアカウントの一部であるということです。かなり確信しています。
データにアクセスするために認証を使用せずにAPIを機能させるために編集できるカレンダー自体の設定はありますか?または、クライアントを変更できるビジネスアプリ設定のオプションはありますか?繰り返しになりますが、私はJavascriptを使用して1つの特定のカレンダーでGETリクエストのみを実行することについて話しているので、認証は望ましくありません。
URIを介してデータを取得しているだけなので、ここに表示できるコードは実際にはありません。APIドキュメントでエクスプローラーツールを使用するときに同じ問題(404)が発生します。ただし、ご想像のとおり、そのエクスプローラーツールで認証すると、イベントは問題なく表示されます。
eventListのサンプルアイテム:
{{ "種類": "calendar#event"、 "id": "(idremoved)"、 「ステータス」:「確認済み」、 "更新": "2012-05-29T21:06:42.000Z"、 "始める": { "dateTime": "2012-06-18T19:00:00-05:00" }、 "終わり": { "dateTime": "2012-06-18T21:00:00-05:00" }、 「可視性」:「公開」 }