getUserInfo static method

Future<TencentUserInfoResp> getUserInfo({
  1. required String appId,
  2. required String openid,
  3. required String accessToken,
})

Implementation

static Future<TencentUserInfoResp> getUserInfo({
  required String appId,
  required String openid,
  required String accessToken,
}) {
  return HttpClient()
      .getUrl(Uri.parse(
          'https://graph.qq.com/user/get_user_info?access_token=$accessToken&oauth_consumer_key=$appId&openid=$openid'))
      .then((HttpClientRequest request) {
    return request.close();
  }).then((HttpClientResponse response) async {
    if (response.statusCode == HttpStatus.ok) {
      final ContentType? contentType = response.headers.contentType;
      final Encoding encoding =
          Encoding.getByName(contentType?.charset) ?? utf8;
      final String content = await encoding.decodeStream(response);
      return TencentUserInfoResp.fromJson(
          json.decode(content) as Map<String, dynamic>);
    }
    throw HttpException(
        'HttpResponse statusCode: ${response.statusCode}, reasonPhrase: ${response.reasonPhrase}.');
  });
}