8

GoogleのREST APIを使用して公開カレンダーにアクセスしたいと思います。しかし、私はそうではない/ shouldnできる公開カレンダーにアクセスすることだし、サーバーからこれをやっているユーザーがログインしなくてもGoogle APIを使用して公開カレンダーにアクセスする

https://developers.google.com/google-apps/calendar/auth

GoogleのカレンダーのAPIは、私はカレンダーへのアクセスを取得するにはOAuthのトーク​​ンを必要と示唆

ユーザーに認証を求める必要がありません。

私はNode.jsのAPIを使用しています:

googleapis 
    .discover('calendar', 'v3').execute(function(err, client) { 
    client.calendar.calendars.get({ calendarId: '***@group.calendar.google.com' }) 
     .execute(function (err, response) { 
     console.log('response from google', response); 
     }); 
    }); 

これは返す「あなたのクライアントは、不正な形式または不正な要求を発行したことは、私たちが知っているすべてのです。」

.calendars.get()の後に.withApiKey('***')を呼び出すと、同じエラーが返されます。

提案がありますか?

答えて

12

ドキュメントはGoogleカレンダーのAPIへのすべてのリクエストは認証されたユーザーによって承認されなければなりません

回以上述べたよう。

GoogleカレンダーAPIを使用する場合は、認証されたユーザーが必要です。これは、Passport.jsおよびPassport-google-oauthのようなモジュールを使用して簡単に達成できます。

あなたはしばらくの脇にAPIを残して

  • できる場合は、カレンダーはあなたが簡単にパブリックアドレスを取得し、消費することができる唯一のアクセス

を読みたい公共

  • ですical、xml、またはhtmlを介したカレンダーこの時点でhttps://www.google.com/calendar/feeds/en.uk%23holiday%40group.v.calendar.google.com/public/basic
  • iCalの

    http://imgur.com/UGjPtqp

    あなたがからの公的データにアクセスすることができます英国の祝日公開カレンダーを見てくださいノードでこのようなリソースを取得し、必要なデータを取得することは自明です。

  • +2

    です。 – squarecandy

    0

    Googleには認証されたユーザーが必要ですが、パブリックカレンダーなので、ユーザーに認証を求める必要はありません。 それはサーバ側ですので、あなた自身の認証を使用するか(またはそのためのGoogleユーザーを作成します)、認証されたユーザーとして、実際のユーザーに認証を求めることなく、そのカレンダーにアクセスできます...

    6

    ああ、来るよ!カレンダーが公開されている間は、ログインする必要なくOAuthなしでデータを取得できます。私はそれを自分でテストしました。

    $.ajax({ 
        url:"https://www.googleapis.com/calendar/v3/calendars/" + cal_id + "/events?key=" + api_key, 
        success: function(data) { 
        console.log(data); 
        } 
        }); 
    

    ただ試してみてください。

    ドキュメントは、残念ながら「基本」のフィードは、カレンダーデータのすべてが含まれていない、と「フル」のフィードは単に退役し、ここhttps://developers.google.com/google-apps/calendar/v3/reference/events/list#examples