преобразовать запрос curl get в запрос dart
Я хотел бы преобразовать запрос curl get в HTTP-запрос, используя язык dart, код curl есть:
и вот код, который я пытался реализовать, он не принимает все параметры:
import 'package:http/http.dart' as http;
void main() async {
var params = {
'ad_format': 'DESKTOP_FEED_STANDARD',
'access_token': '<ACCESS_TOKEN>',
};
var query = params.entries.map((p) => '${p.key}=${p.value}').join('&');
var res = await http.get('https://graph.facebook.com/v2.11/act_AD_ACCOUNT_ID/generatepreviews?$query');
if (res.statusCode != 200) throw Exception('http.get error: statusCode=${res.statusCode}');
print(res.body);
}
1 ответ
Вам не хватает creative
параметр запроса, который вы добавляете с помощью --data-urlencode
. Кроме того, избегайте самостоятельного создания URL с параметрами запроса. Используйте класс Uri.
final params = {
'ad_format': 'DESKTOP_FEED_STANDARD',
'access_token': '<ACCESS_TOKEN>',
'creative': jsonEncode({
'object_story_spec': {
// fill in the rest here..
},
}),
};
final uri = Uri.https('graph.facebook.com', '/v2.11/act_AD_ACCOUNT_ID/generatepreviews', params);
var res = await http.get(uri);
if (res.statusCode != 200) throw Exception('http.get error: statusCode=${res.statusCode}');
print(res.body);