質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Q&A

解決済

1回答

1822閲覧

google classroom apiで、ストリームの投稿のうち、投稿に対する返信のコメントと投稿者を取得したい

hedgehog314

総合スコア0

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

0グッド

0クリップ

投稿2021/08/29 10:03

編集2021/08/29 10:09

前提・実現したいこと

Google Workspaceの、classroom apiで、
ストリームに投稿された内容(テキスト及び発信者)を取得しようと
classroom apiを用いてみました。
しかし、投稿されたもののうち、コメントに対する返信が取得できません。
(下図でいえば、返信コメント以外だけが列挙されて取得されてしまいます。)
返信も、そのテキストおよび書き込んだ人のUserIdを取得したいです。
イメージ説明

発生している問題・エラーメッセージ

以下のコードによると、配列announcementsListには、
ストリームに書き込んだ人に対する返信のメッセージは格納されません。

該当のソースコード

google classroom apiで以下のように記述してみました。
※courseIdは、そのクラスルーム固有のidで、別に取得済み
const obj = Classroom.Courses.Announcements.list(courseId);
for(let announce of obj.announcements){
// 各announceのテキストと、書き込んだ人の名前を配列にしていく
let list = [announce.text,Classroom.UserProfiles.get(announcements.creatorUserId).name.fullName];
announcementsList.push(list);
}

試したこと

返信がある場合には、announce自体が配列になっているのでは?と思ったり、
announce.text自体が配列になっていたりしないかと思って試してみましたが、返信のテキストおよび書き込んだ人のidは
取得できませんでした。
また、Classroom.Courses.Announcements.listの戻り値であるオブジェクトに、nextPageTokenが存在しているのでは
と思い、If(nextPageToken){ Logger('ExistNextPageToken');}としてみましたが、
nextPageTokenはFalseのようです。

補足情報(FW/ツールのバージョンなど)

Google Apps Script上(Google Driveから作成)で作成しています。
Classroom.Courses.Announcements.listのリファレンス
https://developers.google.com/classroom/reference/rest/v1/courses.announcements/list
Announcement オブジェクトの中身
https://developers.google.com/classroom/reference/rest/v1/courses.announcements#Announcement

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/08/29 13:18 編集

仮に、公式のIssue Trackerに出されているこのスレッド( https://issuetracker.google.com/issues/118107325 )が、本件に該当するならば、 現時点でもコメント返信を抽出するAPIの実装はなされていない、ということになりそうです。
hedgehog314

2021/08/29 19:02

ありがとうございます。 該当すると思います。 このような尋ね方も変ですが、この場合、 実装されていなかったので不可、と自己解決扱いにするのか、 質問を削除した方がよいのか、teratailの慣習としてはどのような ものでしょうか。
退会済みユーザー

退会済みユーザー

2021/08/29 20:31

通常は、自己解決扱いと思います。 {他の人にとっても有用な情報になり得るため) 回答欄に、実装されていない旨を自分で書いて自己解決する形になります。
guest

回答1

0

自己解決

表題の機能は、Google Classroom apiではまだ実装されていないようです
https://issuetracker.google.com/issues/118107325
あえてやるとすれば、
コメントがあった場合、クラスルームの教師には
送信元classroom.google.comから、「・・・」にコメントしました、というタイトルの
メールが届くので、そのメールの本文からクラスや、Announceの本文を特定し、
抽出することが考えられますが、
とりあえずは、Classroom APIに実装されていなかったということが
わかったということで、自己解決扱いとしたいと思います。

ありがとうございました。

投稿2021/08/30 04:13

hedgehog314

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問