Open18

「読者コミュニティ|NotionとGoogle ToDoリストの相互連携をGASで実装してみよう!」の読者サポート

こんばんは、NotionとGoogleTodoの連携をしたかったので要望通りのドンピシャな機能があったことに感動しております。
さっそく導入してみようと思ったのですが、GitHubからスクリプトをコピーしテスト実行しようとしたところ

構文エラー: SyntaxError: Unexpected token '.' 行: 436 ファイル: notion.gs

と表示されてしまいます。

なにぶん初心者なものでどこがおかしいのかさっぱり分からずで…
お手数おかけしますがご対応のほど宜しくお願い致します。

ありがとうございます!
notion.gsの436行目付近のスクリンショット画像を送っていただけますでしょうか?

早速のお返事をありがとうございます。
こちらがスクリーンショット画像です。
宜しくお願い致します。

ありがとうございます。
ごめんなさい
コードが間違っていました。
.includeの前に「textWithoutUrl」を入力して実行してみてください!

470行目のif文を参考にしてください!
(githubのコードは本日中に修正しておきます)

ありがとうございました、無事に動きました!
引き続き設定を頑張ります~

良かったです!
他にもエラーやわからないことがありましたら、コメントよろしくお願いいたします。
※Githubのコードも修正いたしました。

p.s.
有料記事までご購入いただき誠にありがとうございます。
参考になれば幸いです。
解説不足の部分がありましたら追記いたしますので、どうぞお申し付けください。

こんばんは、初めまして。

ちょうどやってみたいと思う機能を調べていたところ、わかりやすく記載いただいておりましたので利用させていただいております!
「関数の試験実行」の際にエラーが表示されてしまいました。
プログラミング初学者でして、エラーの理由を調べても解消できずだったので教えていただければと思います。

お手隙の際で大丈夫ですので、よろしくお願いいたします。

  const json = infoNotion.fetchNotion(lastUpdate);
  json.results = json.results.sort((a, b) => a.last_edited_time > b.last_edited_time ? -1 : 1);

コメントありがとうございます。
「関数の試験実行」でエラーがでたということですね。
現時点では詳細がわからないのですが、Notionとの連携に失敗しているようです。
main.gsの6行目のnotionTokenに正しいトークンを記述しているかどうかについて確認してみてください。

  • 判断箇所
    • 「!!!Notion page POST ERROR!!!」のコメントが出力されています。これは、notion.gs/225行目に該当します。つまり、notion.gs/205行目のpostNotion(endpoint, payload, method)関数でエラーが発生しています。
    • この関数は、notionトークンを使って、notion側にデータを送る関数です。おそらく、送信するために必要なトークンが間違っているか、データの形式が誤っているためエラーが発生したのだと思います。

また、main.gsのNotionToGoogleTaskを選択した状態で、以下のデバッグを押してみてください。
エラーが発生する箇所で詳細情報が右側に表示されます。
その際のスクリンショットを添付していただけると、もう少しわかることがあるかもしれません。

お返事ありがとうございます!
本日中に確認しながら試させていただきます!

先日はお返事いただきましてありがとうございました。
確認に時間がかかっておりましてすみません。

以下の点を修正し、最初から作成し直してみましたが、今度は他のエラーが出てしまいましたのでご相談させていただきたく、コメントさせていただきました。
エラーについてキャプチャを添付させていただきますので、要因がお分かりでしたらフィードバックいただけますでしょうか?



** Notion の 最新version は "2022-02-22" のようなので、"2022-02-22" と置き換えております。

お手隙の際に、ご確認よろしくお願いいたします。

返信が遅れて申し訳ありません.
おそらく、Tasks APIが有効化されていないような気がします.

「Tasks is not defined」つまり、Tasksが定義されておらず使えないというエラーメッセージが出ています.
”04 実装方法(事前準備)”の"2 Tasks APIの有効化"を一度試していただけますでしょうか?

有効化されると、添付画像のように表示されるはずです.

ご確認お願いいたします.

ありがとうございます。
Tasksを追加するのが漏れておりました。
お忙しいところお返事ありがとうございます。
先に進めましたのでまた一人でやってみます!
ありがとうございました。

たびたびすみません。
(急ぎませんのでお手隙の際で大丈夫です)

うまく反映されなかったので再度確認したところ、「NotionToGoogleTask()」の方でもエラーが出ておりました。
トリガー設定後に動かなかったので、キャプチャの際時は設定したトリガーを全て削除し、
05 実装コード にある "関数の試験実行" を行いました。
とくにコードはいじったりしていないので原因がわからずです。

再度教えていただけますと幸いです。
よろしくお願いいたします。

コメントありがとうございます。
デバッグを押していただいて、jsonの中身のキャプチャをいただけますか?
json>resultsの中身を確認したいです!

「Cannot read property 'sort' of undefined」なので、おそらくソートができないようです。

何らかの理由で連携しているnotionページの各タスクの最終更新(last_edited_time)が空欄になっているのではないかと予想します。

ためしにnotion側でタスクを数個作ってみて実行した際に同じエラーが出るか確認いただけますか?

https://techacademy.jp/magazine/26836

ありがとうございます。

NotionにTo Do を3つほど追加してみました。

その後 「NotionToGoogleTask()」を実行し、エラー表示がありました。

デバッグをキャプチャしてみましたのでご確認いただけますと幸いです。

よろしくお願いいたします。

返信が遅れて申し訳ありません.

デバッグはブレークポイント(紫色の点)を設定しないで、デバッグを実行したら215行目で止まったということでしょうか?

最後の画像を見ると、notion.jsの294行目のfetchNotionの中のpostNotion()がうまく動いていませんね.
postNotionを実行するために必要な、this.notionTokenが正しいかご確認いただけますか?
また、一度this.notionVersionを昔のバージョンで試しに実行してみてください.

ちなみにGoogleTaskToNotion()は試験実行で動いていますか?

よろしくお願いします.

p.s.
①こちらの記事にもpostNotionという関数があります.

https://zenn.dev/nobu/books/215bd245509974/viewer/d2abc2
面倒ではありますが、こちらの記事を実装してみて、postNotion関数を使えるかどうか試すのも一つの手です.

②最後にいただいたキャプチャ画像のデバッグ表示部分にendpointやnotionTokenが写ってしまっているので、安全のために隠していただけると幸いです.

ログインするとコメントできます