小编Jid*_*uru的帖子

Flutter Google 登录 idToken 已过期

我在我的 flutter 应用程序中使用 google_sign_in 进行身份验证。

我按照此处记录的步骤开始:

https://github.com/flutter/plugins/blob/master/packages/google_sign_in/google_sign_in/example/lib/main.dart

我按照建议获取 idToken 在服务器端执行身份验证。

这是我用来获取 idToken 的代码片段

_googleSignIn.onCurrentUserChanged.listen(
            (GoogleSignInAccount account) {
      setState(() {
        developer.log("************Changing account");
        _currentUser = account;
        account.authentication.then((key){
          developer.log("########### Changing token");
          _userToken=key.idToken;
        });

      });
    });
Run Code Online (Sandbox Code Playgroud)

当我发送 idToken(上面示例中的 _userToken)时,它在一段时间内工作正常,后来我在服务器端看到以下错误消息:

令牌已过期,1593370077 < 1593384191

看起来token是有过期时间的,过一段时间就会过期。

我尝试将上面的代码片段从 initState() 移至 build()。这是我的假设,如果我每次构建小部件时都调用它,我应该获得一个新令牌。那不起作用

我认为它可能起作用的原因是因为当我“运行.dart”(不是热重载)时它起作用。这让我认为将其移动到构建可能会起作用。没用

我的问题:刷新令牌或使用 google_sign_in 在 flutter 中获取新令牌的编程方式是什么。

感谢您的帮助!!

dart google-signin flutter

5
推荐指数
1
解决办法
3062
查看次数

如何在 Flutter 中授予访问外部存储的权限

当我在颤振代码中使用以下行时:

print(Directory("/sdcard").list(recursive: true).listen((event) {print(event);}));
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

"[ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: FileSystemException: Directory listing failed, path = '/sdcard/' (OS Error: Permission denied, errno = 13)"
Run Code Online (Sandbox Code Playgroud)

我尝试将这些添加到清单选项卡下的 AndroidManifest.xml 中:

<uses-permission
        android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission
        android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Run Code Online (Sandbox Code Playgroud)

但它没有用。我也尝试在flutter clean之后重新运行它,但仍然得到相同的结果。

有人可以帮我解决这个问题。

我的主要目标是能够访问(读/写)android/ios 设备存储中存在的所有可访问目录。就像我们普通的手机文件管理器一样。

非常感谢您的回答。

android dart flutter

5
推荐指数
1
解决办法
9415
查看次数

底部无限像素溢出的 RenderFlex

我有一个非常简单的控件,我试图DropdownButton用几个TextFields.
当应用程序在模拟器中运行时,我收到一条错误消息

BOTTOM OVERFLOWED BY Infinity PIXELS 
Run Code Online (Sandbox Code Playgroud)

Stack Trace问题的提示并指向一些相关文档,但对 Flutter 来说非常新,我不确定需要更改哪些内容。

我已经根据有关类似错误的问题尝试了许多建议,但没有任何运气。

堆栈跟踪:

I/flutter (10708): ??? EXCEPTION CAUGHT BY RENDERING LIBRARY ??????????????????????????????????????????????????????????
I/flutter (10708): The following assertion was thrown during performLayout():
I/flutter (10708): RenderIndexedStack object was given an infinite size during layout.
I/flutter (10708): This probably means that it is a render object that tries to be as big as possible, but it was put
I/flutter (10708): inside another render object that allows its …
Run Code Online (Sandbox Code Playgroud)

dart flutter flutter-layout

4
推荐指数
1
解决办法
2万
查看次数

Flutter initState() 返回 _debugLifecycleState 错误

我一直在构建 flutter 应用程序有一段时间了,一切似乎都运行良好,但今天我尝试调用initState()statefulWidget 以便我可以进行 API 调用,但它返回一个我不熟悉的错误

我的代码:

class Home extends StatefulWidget {

  final String header;

  Home({Key key, this.header}): super(key: key);

  @override
  _HomeState createState() => _HomeState();
}

class _HomeState extends State<Home>{
  @override
  Widget build(BuildContext context) {

    Top top;
    bool _loading = true;

    fetchData() async {
      setState(() {
        _loading = true;
      });
      //Fetch top Animes
      var res = await http.get(Constants.topAnimes);
      var decodedJson = jsonDecode(res.body);
      print(decodedJson['top']);
      top = Top.fromJson(decodedJson['top']);
      print(top.toJson());


      setState(() {
        _loading = false;
      });
    }

    @override
    void initState() { …
Run Code Online (Sandbox Code Playgroud)

android ios flutter

3
推荐指数
1
解决办法
1万
查看次数

FolioReaderKit 致命错误:在解开可选值时意外发现 nil

我有收藏视图,用户可以下载 epub 文件并在下载完成后显示它。我使用 FolioReaderKit 打开 epub 文件,我也得到了正确的路径并且 epub 文件在那里。我正在使用 Alamofire 下载,但是我收到了一堆错误,

2016-11-04 18:02:28.304 indodragon[9482:74592] [SSZipArchive] Error: The file “EPUB.epub” couldn’t be saved in the folder “Documents” because a file with the same name already exists.
2016-11-04 18:02:28.305 indodragon[9482:74592] [SSZipArchive] Error: The file “EPUB.epub” couldn’t be saved in the folder “Documents” because a file with the same name already exists.
2016-11-04 18:02:28.306 indodragon[9482:74592] [SSZipArchive] Error: The file “EPUB.epub” couldn’t be saved in the folder “Documents”.
2016-11-04 18:02:28.320 indodragon[9482:74592] [SSZipArchive] Error: The …
Run Code Online (Sandbox Code Playgroud)

epub swift

2
推荐指数
1
解决办法
383
查看次数

zsh:找不到命令:颤动?

我试过多次安装颤振,并且可以运行一次颤振医生,但是在关闭终端后我不能。不知道我是怎么做到的,这一直在屏幕上出现。

user@users-MacBook-Pro flutter % export PATH="$PATH: /Users/user/Desktop/flutter/bin"
user/users-MacBook-Pro flutter % flutter --version
zsh: command not found: flutter
user@users-MacBook-Pro flutter %  
Run Code Online (Sandbox Code Playgroud)

所以我更改了路径,将 shell 更改为 -zsh,因为我使用的是 macOS Catalina,但似乎没有任何效果。我该怎么办?

zsh flutter macos-catalina

2
推荐指数
3
解决办法
6116
查看次数

Flutter:我已将 Dart 入口点更改为 Login.dart ,而构建 apks 错误显示未找到 lib\main.dart

C:\flutter\flutter_windows_v1.9.1+hotfix.2-stable\flutter\bin\flutter.bat --no-color build apk
Target file "lib\main.dart" not found.
Process finished with exit code 1
Run Code Online (Sandbox Code Playgroud)

dart flutter

0
推荐指数
1
解决办法
2088
查看次数

无法在颤动中切换到 beta 通道

无法切换到 flutter beta 频道 C:\Users\vairo_drrrnuo\IdeaProjects\bridge>flutter channel beta

Switching to flutter channel 'beta'...
git: From https://github.com/flutter/flutter
git:    f994b7697..9b9b543d9  beta                   -> origin/beta
git:  + cb8832388...7cd39d661 dds_integration_take_2 -> origin/dds_integration_take_2  (forced update)
git:    15a28159b..c68758fab  master                 -> origin/master
git:  * [new tag]             1.19.0-4.2.pre         -> 1.19.0-4.2.pre
git: error: The following untracked working tree files would be overwritten by checkout:
git:    examples/flutter_view/ios/Podfile
git:    packages/flutter_tools/lib/src/base/platform.dart
git: Please move or remove them before you switch branches.
git: Aborting
Switching channels failed with error code 1.
Run Code Online (Sandbox Code Playgroud)

android dart android-studio flutter flutter-web

0
推荐指数
1
解决办法
2352
查看次数