Google Calendar API v3を使用して、Googleカレンダーにイベントを追加しました。次に、誰かがクリックしてカレンダーイベントを表示できるように、htmlリンクを作成します。
ここに私が試したものがあります:
<a href="https://www.google.com/calendar/feeds/default/private/full/{{ event.googleID }}">View Google</a>
hrefは次のようになります。https://www.google.com/calendar/feeds/default/private/full/bigstringhere1ovmuup7mjf0
問題は、「認証が必要です」という401エラーが表示されることです
GoogleカレンダーIDに基づいてカレンダーイベントを表示/編集するためのリンクを作成するにはどうすればよいですか?
やり方がある!公開カレンダーイベントを表示するには、次の形式のリンクを使用します。
https://www.google.com/calendar/event?eid={event-id}&ctz={timezone}
ここで、{event-id}は一意のイベントIDであり、{timezone}は これらのタイムゾーン のいずれかです。
次に例を示します。 特定の公開カレンダーイベントへのリンク 。
このイベントの発信元であるカレンダーの編集権限がある場合、イベントを編集してゲストリストを表示できます。それ以外の場合は、イベントに関する公開情報のみが表示されます。
イベントIDを特定するのは難しい場合があるため、詳細ページを編集しているときにGoogleカレンダーイベントへのリンクを生成するブックマークレットを次に示します。
javascript:(function(){ try { window.Prompt('Shareable link to this event:','https://www.google.com/calendar/event?eid='+document.getElementsByClassName('ep')[0].getAttribute('data-eid')) } catch (e) {alert("Use this bookmarklet to get a shareable link to a Google Calendar event when editing its Details page.")}})()
そして、新しい(2017年現在)GoogleカレンダーUIで動作するこのブックマークレットのバージョン:
javascript:(function(){
window.Prompt('Shareable link to this event:',
'https://www.google.com/calendar/event?eid='+
window.location.href.split("/").pop().split("?")[0])
})()
(おそらく有用な、公開Googleカレンダーの特定のdayにリンクする方法:
https://www.google.com/calendar/embed?src={calendar-id}&mode=day&dates={yyyymmdd}%2F{yyyymmdd}
ここで、{calendar-id}はカレンダーのIDであり、{yyyymmdd}リンクしたい日です。
オプションのパラメータには、タイムゾーンと、さまざまなアイテムを表示するかどうかなどが含まれます。
&ctz=Asia/Taipei&showNav=0&showPrint=0&showCalendars=0
例: 公開カレンダーの1日へのリンク 。)
リンクを作成するHTMLは次のとおりです。
https://www.google.com/calendar/render?action=TEMPLATE&text=Your+Event+Name&dates=20140127T224000Z/20140320T221500Z&details=For+details,+link+here:+http://www.example.com&location=Waldorf+Astoria,+301+Park+Ave+,+New+York,+NY+10022&sf=true&output=xml
イベントURLはカレンダーURLではありません。
このリンクには説明があります: Google Calender v
このURLを作成する方法は次のとおりです。
GET https://www.googleapis.com/calendar/v3/calendars/calendarId/events/eventId
ここで、calendarId
とeventId
はパラメーターです。
これが役に立てば幸いです。
これは投稿された質問の正接であり、次のことをしようとしたときにこの投稿が表示されるため、投稿したかったのです。
特定のカレンダーに保存するのではなく、他の人のカレンダーに追加することのみを目的として、Googleイベントを生成しようとしました。私はここで例を見つけました、そして、私は現在それが受け入れるURLパラメータを見つけようとしています。
https://www.google.com/calendar/render?action=TEMPLATE&text=PRP+Due&dates=20141106T120000Z/20141106T120000Z&details&location&trp=false
イベントIDごとにGoogleカレンダーイベントを表示するには。
以下の例を使用できます。
https://www.google.com/calendar/event?eid={event-id}&ctz={timezone}
インドのタイムゾーンの例:
https://calendar.google.com/calendar/event?eid=ZjVicWczYWpndmh0ZmdtYmd0cXFxZWc3czggdTJoZmoybGg0aDcwbmhzMzV2c25pamd1dG9AZw&ctz=Asia/Kolkata
Googleカレンダーイベントが作成されると、応答でresult
プロパティを取得しました。このresult
プロパティでは、作成中のイベントに関するリンクを持つもう1つのhtmlLink
が使用可能になります。今、それを開くことができます:
window.open(response.result.htmlLink, '_target');
Google Calendar API v3からイベントを取得するには、次を呼び出します。
GET https://www.googleapis.com/calendar/v3/calendars/calendarId/events/eventId
イベントにはプロパティhtmlLink
が含まれています。これはまさに必要なものです。
Google Calendar Web UIのこのイベントへの絶対リンク。読み取り専用。
https://developers.google.com/google-apps/calendar/v3/reference/events をご覧ください。
リンクは次のようになります。
https://www.google.com/calendar/event?eid=XzYwcTMwYzFnNjBvMzBlMWk2MG80YWMxZzYwcmo4Z3BsODhyajJjMWg4NHMzNGg5ZzYwczMwYzFnNjBvMzBjMWc2c28zMmRoaDhwMGpnaDIxNnQyNDZkaGc2NG8zMGMxZzYwbzMwYzFnNjBvMzBjMWc2MG8zMmMxZzYwbzMwYzFnNzByNDRoMWk2b3AzOGUxazZoMms2aDFrNmQwamNkaTI2OHBrMmhpMjg4czRjZ2hoNzBwMF8yMDA2MDUwNSBob3BtYW4ubmxfbjE5ZGF2YWgxb3Zkb3EzbGl2N2t1aWU5Z.
もちろん、イベントにアクセスできる場合にのみ、イベントを全画面表示します。画面には、カレンダーに戻るための戻るボタンが含まれます。
明らかに、このリンクを自分で構築することはできないため、APIを呼び出す必要がありますが、おそらくとにかくすでにそれを行っているでしょう。