Hyd*_*age 0 push-notification google-oauth google-cloud-platform google-classroom
我想创建一个程序,该程序将从我的相关 Google 课堂接收通知,并利用该数据执行某些操作。如何注册 Google 课堂以对活动做出反应?我还没有做过任何东西,而且我对Google的API一无所知。我应该怎么办?
注册 Google Classroom API 以获取推送通知的过程包括身份验证、授权以及解析向 Google 发送的请求以告诉您的 Classroom 发送这些推送通知。
我强烈建议您具备 Java 编程语言方面的 Google Cloud 平台的基本知识,这与我尝试执行此操作时不同。相信我...这并不好玩。我相信您会充分理解这个概念,从而能够将其转移到您选择的语言中,我在 Java 中做到了这一点,使用 IntelliJ IDEA 作为我的 IDE。
除了 Google Classroom API 之外,Google 还为其集合提供了另一项服务,称为“Pub/Sub”。Pub/Sub 代表发布者/订阅者。如果您熟悉队列的工作原理,可以将 Pub/Sub 视为一种改进的队列系统。您有一个发布者,在“主题”上发布消息,以及该主题的订阅者,该订阅者将从主题中提取消息,并选择是否“确认”该消息。确认消息会将其从队列中删除。例如,发布者代码将消息“Hello, World”发送到主题。该消息将保留在主题中,直到该主题的订阅者选择拉取消息、阅读“Hello,World”并确认该消息,因此在拉取消息时它不会再次弹出。发布者可以发送任意数量的消息。发布者可以发送 10 条消息,订阅者可以选择拉取所有消息并迭代它们,或者一次只迭代几条消息。
这适用于该系统,因为您将使用 Google Classroom API 的内置功能,该功能允许 API 充当“发布者”并向您选择的主题发送更新消息。然后,您将有一个单独的应用程序随时检查更新。为了暂时简化它,您告诉 Classroom API“请向此主题发送更新消息。我只需要当教师以任何方式编辑课程作业目录时进行更新”。Classroom API 将遵循此请求,每当教师进行编辑、发布或删除等操作时,程序都会向您的主题发送消息。
如果您的课堂发布者一天内发送了 5 条更新,您将收到 5 条可拉取的消息发送到您的主题,该主题的任何订阅程序都可以拉取并确认这些消息。
如果你还不够理解,就你的看法。请在继续之前对 Google Cloud Pub/Sub 进行一些研究,因为这样做基本上是围绕此服务进行的。
让我们一步一步地执行此操作...
compile 'com.google.api-client:google-api-client:1.23.0'
compile 'com.google.oauth-client:google-oauth-client-jetty:1.23.0'
compile 'com.google.apis:google-api-services-classroom:v1-rev135-1.23.0'
Run Code Online (Sandbox Code Playgroud)
sourceCompatibilitybuild.gradle 中的变量设置为11compile 'com.google.api-client:google-api-client:1.23.0'
compile 'com.google.oauth-client:google-oauth-client-jetty:1.23.0'
compile 'com.google.apis:google-api-services-classroom:v1-rev135-1.23.0'
Run Code Online (Sandbox Code Playgroud)
您刚刚所做的就是对自己进行身份验证,以便 Google 知道您授予它什么权限,并且它可以验证您的身份。然后,您向 Google 发送了一个 JSON 请求,其中包含有关您希望将更新发布到哪个主题、要获取的更新类型以及从中获取这些更新的特定教室的信息。
我强烈建议您在这里了解 JSON 响应的结构是如何工作的。也许从这里开始。
谷歌文档上的这个页面有不错的信息。它还显示您将使用 Google Pub/Sub API 从另一个程序中提取的消息的 JSON 格式。我没有把它包括在这里。
谢谢你,祝你好运。抱歉,我可能会多次编辑这个问题。我现在真的很累了。
| 归档时间: |
|
| 查看次数: |
978 次 |
| 最近记录: |