我正在尝试在使用颤振时达到此终点。 https://docs.particle.io/reference/device-cloud/api/#generate-an-access-token
我在POSTMAN和curl上工作了
curl version:
curl https://api.particle.io/oauth/token \
-u particle:particle \
-d grant_type=password \
-d "my.email@gmail.com" \
-d "my_password"
在curl和postman上,我都获得了带有访问令牌的回复。
但是当我尝试在Flutter上实现它时,我收到了错误响应。 这是我在Flutter上的代码。
Future<Response> getPublicKey() async {
LoginRequestModel requestModelBody = LoginRequestModel(grantType: "password",
username: "my.email@gmail.com", password: "my_password");
Map<String, dynamic> requestBody = requestModelBody.toJson();
String bodyString = json.encode(requestBody);
// String formBody = Uri.encodeQueryComponent(bodyString);
print("Body string: "+bodyString);
String url = "https://api.particle.io/oauth/token";
String credentials = "particle:particle";
Map<String, String> headers = {
HttpHeaders.contentTypeHeader: "application/x-www-form-urlencoded",
HttpHeaders.authorizationHeader: "Authorization $credentials",
};
return await post(url, headers: headers, body: bodyString);
}
打印出正文字符串的打印语句将打印出:
{"grant_type":"password","username":"my.email@gmail.com","password":"my.email@gmail.com"}
这是我得到的错误:
{"error":"invalid_request","error_description":"Invalid or missing grant_type parameter"}
我猜我在表单编码上做错了,但是我找不到正确的方法来编码身体。
问题:如何使用颤动来击打here中记录的REST端点?
答案 0 :(得分:0)
很棒的website可以将 0
0 (1,2,a)
1 (2,3,b)
2 (3,4,c)
命令转换为Dart代码。
粘贴curl命令可以得到:
pd.read_sql('select * from dummy',conn)
id1 id2 label
0 1 2 a
1 2 3 b
2 3 4 c
与您的Postman屏幕快照相比,似乎表明您的curl命令实际上并不正确,因此我将其更改为:
curl