calendar - 使用 dart 中的 googleapis 库更新日历并将其显示在网页上

标签 calendar google-api dart

我是 Dart 新手,我一直在尝试弄清楚如何使用 googleapis库来更新日历事件,然后在网页上显示日历/事件。

到目前为止,我有这个代码,我希望只是改变 #text id 的文本到所选日历 ID 中的事件列表:



import 'dart:html';
import 'package:googleapis/calendar/v3.dart';
import 'package:googleapis_auth/auth_io.dart';

final _credentials = new ServiceAccountCredentials.fromJson(r'''
{
  "private_key_id": "myprivatekeyid",
  "private_key": "myprivatekey",
  "client_email": "myclientemail",
  "client_id": "myclientid",
  "type": "service_account"
}
''');

const _SCOPES = const [CalendarApi.CalendarScope];

void main() {
  clientViaServiceAccount(_credentials, _SCOPES).then((http_client) {
    var calendar = new CalendarApi(http_client);

    String adminPanelCalendarId = 'mycalendarID';

    var event = calendar.events;

    var events = event.list(adminPanelCalendarId);

    events.then((showEvents) {
      querySelector("#text2").text = showEvents.toString();
    });

  });
}

但是网页上什么也没有显示。我想我误解了如何在 dart 中使用客户端和服务器端代码......我是否将文件分成多个文件?我将如何更新日历并使用 dart 在网页上显示它?

我熟悉 browser包,但这是我第一次使用服务器端库编写任何东西(googleapis 使用 dart:io 所以我假设它是服务器端的?我无法在 dartium 中运行代码)。

如果有人能指出我正确的方向,或者提供一个如何实现这一点的例子,我将不胜感激!

最佳答案

您可能正在寻找的是 hybrid flow .这会产生两个项目

  • 访问凭证(用于客户端 API 访问)
  • 授权码(用于使用用户凭据的服务器端 API 访问)

  • 从文档中:

    用例:Web 应用程序可能希望获得代表用户访问数据的同意。客户端部分是一个动态的 web 应用程序,它想要打开一个弹出窗口,要求用户同意。 webapp 可能想要使用凭证来进行 API 调用,但服务器可能也想要离线访问用户数据。

    页面Google+ Sign-In for server-side apps描述了这个流程是如何工作的。

    关于calendar - 使用 dart 中的 googleapis 库更新日历并将其显示在网页上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27235387/

    相关文章:

    SQL - 检查订单日期是否在 7 月的第二个星期六之后

    javascript - YouTube数据Api v3-未捕获的TypeError:无法读取未定义的属性 'setApiKey'

    android - 数据显示为空但url在Postman上有效

    flutter - 如何将 TextStyle 和 textTheme 应用于 Flutter 中的文本小部件?

    flutter - CustomScrollView 内的固定 SliverPersistentHeader 滚动到 NestedScrollView 内另一个固定的 SliverPersistentHeader 后面

    java - 如何从安卓日历中获取日期?

    android - Android 应用程序中的日历以选择月份和年份

    java - 用于 Web 应用程序的 AuthorizationCodeInstalledApp 的 Google Java API

    google-api - 使用 dart 和 flutter 与 google calendar api 获取用户日历上的事件列表

    javascript - DatePicker 小部件的使用