如何在我的颤振应用程序中从 bing web search apiv7 获取图像
Posted
技术标签:
【中文标题】如何在我的颤振应用程序中从 bing web search apiv7 获取图像【英文标题】:How to get images from bing web search apiv7 in my flutter application 【发布时间】:2019-07-11 20:46:24 【问题描述】:如何使用 Bing 网络搜索 Apiv7 在我的 Flutter 应用程序中获取照片?
我从官方网站获得了 API 和端点,但我无法获取 JSON 文件以在 item builder child 中调用它。
示例子:new Image.network('$data['value']['webSearchUrl']'
我不知道该给这个孩子放什么,也不知道把 API 密钥放哪里...
class _PageOneState extends State<PageOne>
@override
Widget build(BuildContext context)
return Scaffold(
body: new FutureBuilder(
future: getPics(),
builder: (context, snapShot)
Map data = snapShot.data;
if(snapShot.hasError)
print(snapShot.error);
return Text('Failed to get data from server',
style: TextStyle(color: Colors.red,
fontSize: 22.0),);
else if(snapShot.hasData)
return new Center(
child: new ListView.builder(
itemCount: data.length,
itemBuilder: (context, index)
return new Column(
children: <Widget>[
new Container(
child: new InkWell(
onTap: (),
child: new Image.network(
'$data['value']['webSearchUrl']'
),
),
),
new Padding(padding: const EdgeInsets.all(5.0)),
],
);
),
);
else if(!snapShot.hasData)
return new Center(child: CircularProgressIndicator(),);
),
);
and below the code -
Future<Map> getPics() async
String url =
'https://api.cognitive.microsoft.com/bing/v7.0/images';
http.Response response = await http.get(url);
return json.decode(response.body);
【问题讨论】:
【参考方案1】:webSearchUrl
指向一个带有搜索结果的网页,这就是为什么它在Image.network()
中不起作用的原因。尝试将其更改为contentUrl
以获得完整图像;来自第三方网站或 thumbnailUrl
用于 bing 托管的小缩略图网址。
【讨论】:
以上是关于如何在我的颤振应用程序中从 bing web search apiv7 获取图像的主要内容,如果未能解决你的问题,请参考以下文章
如何在颤振中从 FirebaseAuth 电话验证方法返回变量?
如何在 Web 浏览器中从 Silverlight 应用程序捕获图像