api - 我可以获取数据,但是当我在 1-2 天后不使用该应用程序时,获取数据不再有效。(扑)
问题描述
//我做错了吗?我开始获取数据,但在 1-2 天不使用该应用程序后,获取数据不再有效。
Future<List<TopCourses>> fetchTopCourseList() async {
final prefs = await SharedPreferences.getInstance();
final accessToken = prefs.getString('access_token');
final response = await client.get(
URL_STUDENT_GET_TOP_COURSES,
headers: {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer " + accessToken,
},
);
if (response.statusCode < 200 || response.statusCode > 400) {
throw Exception('Failed to Load');
} else {
return compute(topcourseFromJson, response.body);
}
}
List<TopCourses> topcourseFromJson(String str) {
final jsonData = json.decode(str);
return new List<TopCourses>.from(
jsonData["top"].map((x) => TopCourses.fromJson(x)));
}
解决方案
您accessToken
已过期,或者accessToken
您尝试从中获取的SharedPreferences
内容已从您的应用数据中删除。
尝试检查您的访问令牌不为空
并且令牌尚未过期
推荐阅读
- python - 从命令行运行的 Python - ModuleNotFoundError
- angular - 如何为步进器上的每一步加载一个动态组件
- excel - 如何将 vbYes / vbNo 转换为布尔值?
- css - 选择标签被css更改后是否可以控制div?
- reactjs - 未调用 Reactjs 函数
- c# - System.OutOfMemoryExeption C#
- microservices - Spring Cloud 多项目或单项目
- shell - 如何下载形成为 http://example.com/resource?p=NN 的 URL 中的所有页面
- laravel - 如何使用 Laravel 5.5 同时发送电子邮件和短信?
- android - 从较低 API 中的对话框链接到 Google Play 商店