Flutter flatter如何使用我的API
我想使用此代码从我的API获取课程Flutter flatter如何使用我的API,flutter,dart,http-headers,Flutter,Dart,Http Headers,我想使用此代码从我的API获取课程 Future<String> udemy() async { try { dynamic response; String auth = base64.encode(utf8.encode('$Client_id:$Client_Secret')); final signUp = await http.get("https://www.udemy.com/api-2.0/courses/",headers: {&qu
Future<String> udemy() async {
try {
dynamic response;
String auth = base64.encode(utf8.encode('$Client_id:$Client_Secret'));
final signUp = await http.get("https://www.udemy.com/api-2.0/courses/",headers: {"Authorization": auth});
response = json.decode(signUp.body);
print("RESPONSE FROM( udemy ){ ${response.toString()} }");
return "Done";
} catch (e) {
print("ERROR FROM( udemy ){ ${e.toString()} }");
return "ERROR";
}
Future<String> udemy() async {
try {
dynamic response;
String auth = base64.encode(utf8.encode('$Client_id:$Client_Secret'));
final signUp = await http.get("https://www.udemy.com/api-2.0/courses/",headers: {"Authorization": "Basic " + auth});
response = json.decode(signUp.body);
print("RESPONSE FROM( udemy ){ ${response.toString()} }");
return "Done";
} catch (e) {
print("ERROR FROM( udemy ){ ${e.toString()} }");
return "ERROR";
}
Future udemy()异步{
试一试{
动态响应;
字符串auth=base64.encode(utf8.encode(“$Client\u id:$Client\u Secret”);
最终注册=等待http.get(“https://www.udemy.com/api-2.0/courses/,标题:{“授权”:auth});
response=json.decode(signUp.body);
打印(“来自(udemy){${RESPONSE.toString()}}的响应”);
返回“完成”;
}捕获(e){
打印(“来自(udemy){${e.toString()}}的错误”);
返回“错误”;
}
}
我犯了这个错误
详细信息:您没有执行此操作的权限
很可能您需要提供某种形式的授权头或承载令牌,您需要登录才能获取
您是否浏览了此处的文档:很可能您需要提供某种形式的授权头或承载令牌,您需要登录才能获取这些令牌 你看过这里的文档了吗:试试下面的代码
Future<String> udemy() async {
try {
dynamic response;
String auth = base64.encode(utf8.encode('$Client_id:$Client_Secret'));
final signUp = await http.get("https://www.udemy.com/api-2.0/courses/",headers: {"Authorization": auth});
response = json.decode(signUp.body);
print("RESPONSE FROM( udemy ){ ${response.toString()} }");
return "Done";
} catch (e) {
print("ERROR FROM( udemy ){ ${e.toString()} }");
return "ERROR";
}
Future<String> udemy() async {
try {
dynamic response;
String auth = base64.encode(utf8.encode('$Client_id:$Client_Secret'));
final signUp = await http.get("https://www.udemy.com/api-2.0/courses/",headers: {"Authorization": "Basic " + auth});
response = json.decode(signUp.body);
print("RESPONSE FROM( udemy ){ ${response.toString()} }");
return "Done";
} catch (e) {
print("ERROR FROM( udemy ){ ${e.toString()} }");
return "ERROR";
}
Future udemy()异步{
试一试{
动态响应;
字符串auth=base64.encode(utf8.encode(“$Client\u id:$Client\u Secret”);
最终注册=等待http.get(“https://www.udemy.com/api-2.0/courses/,标题:{“授权”:“基本”+auth});
response=json.decode(signUp.body);
打印(“来自(udemy){${RESPONSE.toString()}}的响应”);
返回“完成”;
}捕获(e){
打印(“来自(udemy){${e.toString()}}的错误”);
返回“错误”;
}
试试这段代码
Future<String> udemy() async {
try {
dynamic response;
String auth = base64.encode(utf8.encode('$Client_id:$Client_Secret'));
final signUp = await http.get("https://www.udemy.com/api-2.0/courses/",headers: {"Authorization": auth});
response = json.decode(signUp.body);
print("RESPONSE FROM( udemy ){ ${response.toString()} }");
return "Done";
} catch (e) {
print("ERROR FROM( udemy ){ ${e.toString()} }");
return "ERROR";
}
Future<String> udemy() async {
try {
dynamic response;
String auth = base64.encode(utf8.encode('$Client_id:$Client_Secret'));
final signUp = await http.get("https://www.udemy.com/api-2.0/courses/",headers: {"Authorization": "Basic " + auth});
response = json.decode(signUp.body);
print("RESPONSE FROM( udemy ){ ${response.toString()} }");
return "Done";
} catch (e) {
print("ERROR FROM( udemy ){ ${e.toString()} }");
return "ERROR";
}
Future udemy()异步{
试一试{
动态响应;
字符串auth=base64.encode(utf8.encode(“$Client\u id:$Client\u Secret”);
最终注册=等待http.get(“https://www.udemy.com/api-2.0/courses/,标题:{“授权”:“基本”+auth});
response=json.decode(signUp.body);
打印(“来自(udemy){${RESPONSE.toString()}}的响应”);
返回“完成”;
}捕获(e){
打印(“来自(udemy){${e.toString()}}的错误”);
返回“错误”;
}
抱歉,查看代码我看到您已经关闭了,但是从他们的文档中,您必须以以下格式传递一些内容:授权:基本{BASE64\u编码(客户机ID:CLIENT\u SECRET)}
注意,您的代码中有这样的内容:标题:{“授权”:auth}
它不表示需要的“basic”。这可能是您的问题。抱歉,查看代码我发现您很接近,但从他们的文档中,您必须以以下格式传递一些信息:授权:basic{BASE64\u ENCODED(CLIENT\u ID:CLIENT\u SECRET)}
注意,您的代码中包含此信息:标题:{“授权”:auth}
它不表示需要的“basic”。这可能是您的问题。谢谢@john wiese在添加“basic”后对我有效谢谢@john wiese在添加“basic”后对我有效