gpt4 book ai didi

Flutter Google Calendar API - clientViaServiceAccount 没有响应

转载 作者:行者123 更新时间:2023-12-04 15:23:17 25 4
gpt4 key购买 nike

我知道这个问题已经有了答案,但我无法解决我的问题,所以我希望你能帮助我或至少建议我尝试什么,因为我不知道该怎么做或如何做调试以解决我的问题。
我正在尝试使用 Google Calendar Api 列出公司日历中的所有事件。
我在这个 问题 : Using dart and flutter with google calendar api to get a list of events on the a user's calendar 上使用了相同的代码
我遵循了上述问题中 答案 的所有 6 个步骤
出于某种原因,调用 clientViaServiceAccount 不会返回任何结果和任何错误。
它似乎正在执行一个无限循环。
这是我正在使用的代码,我只能看到打印的“getCalendarEvents”。我看不到 msg "HERE"或打印的任何错误。所以问题肯定在 clientViaServiceAccount 中。
我考虑到 Iamblichus 建议编辑了代码,但问题是我什至无法达到 CalendarApi 。代码堆叠在 clientViaServiceAccount 上。

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

void main() {
runApp(MyApp());
}

class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
CalendarAPI.getCalendarEvents();
return MaterialApp(
title: 'Flutter Demo',
home: Container(),
);
}
}

class CalendarAPI {
static final _accountCredentials = new ServiceAccountCredentials.fromJson(r'''
{
"private_key_id": myPrivatekeyId,
"private_key": myPrivateKey,
"client_email": myClientEmail,
"client_id": myClientId,
"type": "service_account"
}
''');

static final _scopes = [CalendarApi.CalendarScope];

static void getCalendarEvents() {
print('getCalendarEvents');
clientViaServiceAccount(_accountCredentials, _scopes).then((client) {
print('HERE');
var calendar = new CalendarApi(client);
print(calendar);

// Added iamblichus answer
var calendarListEntry = CalendarListEntry();
calendarListEntry.id = calendarId;
calendar.calendarList.insert(calendarListEntry).then((_) {
print('CALENDAR ADDED');

var calEvents = calendar.events.list(calendarId);
calEvents.then((Events events) {
events.items.forEach((Event event) {
print(event.summary);
});
}).catchError((e) => print(e));
}).catchError((e) => print(e));
}).catchError((e) => print(e));
}
}
编辑以在 7 月 15 日 12:31 回答 iamblichus 评论
我在下图所示的页面上创建了 服务帐户凭据
一旦我创建了 key ,我就会下载带有凭据的 .json 文件。
我复制了该文件的内容并粘贴到 ServiceAccountCredentials.fromJson 函数中,因此凭据不能错误。
即使凭据错误,为什么我看不到 clientViaServiceAccount 调用失败的错误?
我发现了任何错误,并在屏幕上用最后一个 }).catchError((e) => print(e)); 打印它们。
出于某种原因,调用 clientViaServiceAccount 没有做任何事情,我无法理解如何找到原因。
enter image description here

最佳答案

这种方法在云中有效。如果您想在 flutter 应用程序中使用它,您必须使用以下插件对用户进行身份验证,

extension_google_sign_in_as_googleapis_auth

关于Flutter Google Calendar API - clientViaServiceAccount 没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62838220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com