栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Flutter中使用Google API?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在Flutter中使用Google API?

这对我有用:

使用package登录,

google_sign_in
然后从中获取auth标头:

import 'package:google_sign_in/google_sign_in.dart'    show GoogleSignIn, GoogleSignInAccount;import 'package:googleapis/people/v1.dart'    show ListConnectionsResponse, PeopleApi;useGoogleApi() async {  final _googleSignIn = new GoogleSignIn(    scopes: [      'email',      'https://www.googleapis.com/auth/contacts.readonly',    ],  );  await _googleSignIn.signIn();  final authHeaders = _googleSignIn.currentUser.authHeaders;  // custom IOClient from below  final httpClient = GoogleHttpClient(authHeaders);  data = await PeopleApi(httpClient).people.connections.list(      'people/me',      personFields: 'names,addresses',      pageToken: nextPageToken,      pageSize: 100,  );}

这是一个自定义

IOClient
实现,可自动将auth标头添加到每个请求。googleapis调用支持传递要使用的自定义HTTP客户端(而非默认值)(请参见上文)

import 'package:http/io_client.dart';import 'package:http/http.dart';class GoogleHttpClient extends IOClient {  Map<String, String> _headers;  GoogleHttpClient(this._headers) : super();  @override  Future<StreamedResponse> send(baseRequest request) =>      super.send(request..headers.addAll(_headers));  @override  Future<Response> head(Object url, {Map<String, String> headers}) =>      super.head(url, headers: headers..addAll(_headers));}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/398213.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号