LoginSignup
ratan_17
@ratan_17 (Naoki Hirata)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

GASでTimeTreeから予定IDを使って予定情報を取得したい

Q&AClosed

解決したいこと

GASを使い、あらかじめ控えていたTimeTreeの予定のIDをもとに予定情報を取得したいのですが、エラー401が返ってきてしまいます。
まだUrlFetchAppの操作に慣れておらず、どこで間違っているのかわかりません。

下記リンクのTimeTree API ドキュメントを参照しながらコードを書いています。
"https://developers.timetreeapp.com/ja/docs/api/calendar-app#create-an-event"

発生している問題・エラー

{ type: 'https://developers.timetreeapp.com/en/docs/api#authentication',
  title: 'Unauthorized',
  status: 401 }

該当するソースコード

function timeTreeAPI_get(token,ID) {
  var timeURL = "https://timetreeapis.com/calendar/events/"+ ID +"?include=creator,label,attendees"
  var headers = {
    "Accept": "application/vnd.timetree.v1+json",
    "Authorization": "Bearer " + token
  };
  var options = {
    "method": "GET",
    "headers": headers,
    "muteHttpExceptions" : true
  };
  var request = UrlFetchApp.fetch(timeURL, options);
  var json = JSON.parse(request);
  console.log(json)
  return json
}
0

1Answer

公式のサンプルの通りにいくらやってもダメだったので、APIの利用者がブログなどに載せているコードを参考に試したら動きました。どうも今の公式ドキュメントが間違った記述をしてるっぽいですね。

- var timeURL = "https://timetreeapis.com/calendar/events/"+ ID +"?include=creator,label,attendees"

+ var calId = 'カレンダーのID';
+ var timeURL = `https://timetreeapis.com/calendars/${calId}/events/${ID}?include=creator,label,attendees`;

0

Comments

  1. @ratan_17

    Questioner
    なるほど、複数のカレンダーの中から特定のカレンダーを指定してあげる必要があったんですね
    早速の回答ありがとうございました!!助かりました!!

Your answer might help someone💌