web-dev-qa-db-ja.com

GoogleカレンダーイベントへのHTMLリンクを作成する方法

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に基づいてカレンダーイベントを表示/編集するためのリンクを作成するにはどうすればよいですか?

28
codingJoe

やり方がある!公開カレンダーイベントを表示するには、次の形式のリンクを使用します。

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日へのリンク 。)

37
Kai Carver

リンクを作成する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

10
Flea

イベントURLはカレンダーURLではありません。

このリンクには説明があります: Google Calender v

このURLを作成する方法は次のとおりです。

GET https://www.googleapis.com/calendar/v3/calendars/calendarId/events/eventId

ここで、calendarIdeventIdはパラメーターです。

これが役に立てば幸いです。

6
Eric Van Loo

これは投稿された質問の正接であり、次のことをしようとしたときにこの投稿が表示されるため、投稿したかったのです。

特定のカレンダーに保存するのではなく、他の人のカレンダーに追加することのみを目的として、Googleイベントを生成しようとしました。私はここで例を見つけました、そして、私は現在それが受け入れるURLパラメータを見つけようとしています。

https://www.google.com/calendar/render?action=TEMPLATE&text=PRP+Due&dates=20141106T120000Z/20141106T120000Z&details&location&trp=false
4
Alex Levine

イベントIDごとにGoogleカレンダーイベントを表示するには。

以下の例を使用できます。

https://www.google.com/calendar/event?eid={event-id}&ctz={timezone}

インドのタイムゾーンの例:

https://calendar.google.com/calendar/event?eid=ZjVicWczYWpndmh0ZmdtYmd0cXFxZWc3czggdTJoZmoybGg0aDcwbmhzMzV2c25pamd1dG9AZw&ctz=Asia/Kolkata
3
Krrish

Googleカレンダーイベントが作成されると、応答でresultプロパティを取得しました。このresultプロパティでは、作成中のイベントに関するリンクを持つもう1つのhtmlLinkが使用可能になります。今、それを開くことができます:

window.open(response.result.htmlLink, '_target');
0
solanki...

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を呼び出す必要がありますが、おそらくとにかくすでにそれを行っているでしょう。

0
rhopman