Peope API 不显示电子邮件地址,但其他所有在 Flutter 中都运行良好

问题描述

我是 Flutter 的新手,我正在尝试从 google 联系人中获取电子邮件地址,但它没有显示电子邮件地址。但是每当我输入姓名和电话号码时,它都会正确显示。这是我的代码输出日志文件

import 'google_class_model.dart';

class LoginScreen extends StatefulWidget {
  @override
  _LoginScreenState createState() => _LoginScreenState();
}

class _LoginScreenState extends State<LoginScreen> {
  GoogleSignIn _googleSignIn;
  GoogleSignInAccount _currentUser;

  Future getUserContacts() async {
    final host = "https://people.googleapis.com";
    final endPoint = "/v1/people/me/connections?personFields=emailAddresses";
    final header = await _currentUser.authHeaders;

    print("loading contact");
    var request = await http.get("$host$endPoint",headers: header);
    print("Loading completed");
       
    if (request.statusCode == 200) {
      print("Api working perfect");
      setState(() {
               print(request.body);
      });
    } else {
      print("Api got error");
      print(request.body);
    }
  }

  @override
  initState() {
    super.initState();

    _googleSignIn = GoogleSignIn(scopes: [
      "https://www.googleapis.com/auth/contacts",]);
    _googleSignIn.onCurrentUserChanged.listen((user) {
      setState(() {
        _currentUser = user;
      });

      if (user != null) {
        getUserContacts();
        print(_currentUser.displayName);
      }
    });
  }

  

这是我的日志文件

I/Flutter ( 9273): Api working perfect
I/Flutter ( 9273): {
I/Flutter ( 9273):   "connections": [
I/Flutter ( 9273):     {
I/Flutter ( 9273):       "resourceName": "people/c3630441151529736836",I/Flutter ( 9273):       "etag": "%EgUBCT43LhoEAQIFByIMNjU4OWJSbVNrZG89"
I/Flutter ( 9273):     },I/Flutter ( 9273):     {
I/Flutter ( 9273):       "resourceName": "people/c6213163730766920067",I/Flutter ( 9273):       "etag": "%EgUBCT43LhoEAQIFByIMMWwyd0ZiZ1pQMU09"
I/Flutter ( 9273):     },

谁有解决办法请告诉我

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)