1

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"
   }、
   「可視性」:「公開」
  }
4

1 に答える 1

0

私は以下を使用して、ビジネスと同じAPIとセキュリティの制限があるGoogle AppsforEducationカレンダーを読んでいます。

公開カレンダーアドレスを取得した後、基本バージョンではなくフルバージョンのカレンダーを解析することにしました。

https://www.google.com/calendar/feeds/your_calendar_id_here%40gmail.com/public/full

あなたのカレンダーが公開されている場合に私が見たものから、あなたのイベントも同様になります。URLを貼り付けるだけで、ブラウザでカレンダーの公開にアクセスできることを確認する必要があります。イベントも公開されていることを確認してください。カレンダーが公開されていることを確認しますが、[空き時間情報のみを共有する(詳細を非表示にする)]チェックボックスがオフになっている

于 2012-06-01T01:57:41.590 に答える