调用百度ai接口如何获取所有返回参数

调用百度智能云ai的植物识别,如何获取所有的返回参数(包括百科描述那些)。我按找官网的demo来跑只能获取如下的结果:{"log_id": 6254760983414220744, "result": [{"score": 0.8125735521316528, "name": "金边吊兰"}, {"score": 0.600487470626831, "name": "吊兰"}, {"score": 0.12811417877674103, "name": "金心吊兰"}]}”

百度智能云AI植物识别接口返回的结果中,只包含了基本的植物名称和识别得分,如果需要获取植物的详细描述信息,需要使用百度百科API进行查询。具体步骤如下:

首先在百度开放平台上创建一个百度百科API的应用,并获取到 App Key 和 Secret Key。

在调用植物识别接口时,将参数 "baike_num" 设置为 1,这将返回植物识别结果中每种植物的百科词条ID。

使用获取到的百科词条ID,调用百度百科API进行查询,可以获取到包括描述、图片、标签等详细信息的JSON格式数据。

下面是一个Java代码示例,演示如何通过百度百科API获取植物识别结果的详细信息:

import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;

import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;

import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.digest.HmacAlgorithms;
import org.apache.commons.codec.digest.HmacUtils;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

public class PlantRecognition {
    private static final String API_KEY = "Your App Key";
    private static final String SECRET_KEY = "Your Secret Key";
    private static final String PLANT_URL = "https://aip.baidubce.com/rest/2.0/image-classify/v1/plant";
    private static final String BAIDU_BAIKE_URL = "https://baike.baidu.com/api/openapi/BaikeLemmaCardApi";
    private static final String BAIDU_BAIKE_APP_ID = "Your App ID";

    public static void main(String[] args) throws Exception {
        String imagePath = "Your Image Path";
        String accessToken = getAccessToken(API_KEY, SECRET_KEY);
        String result = plantRecognition(imagePath, accessToken);
        System.out.println(result);
        JSONArray jsonArray = JSON.parseObject(result).getJSONArray("result");
        for (int i = 0; i < jsonArray.size(); i++) {
            JSONObject jsonObject = jsonArray.getJSONObject(i);
            String name = jsonObject.getString("name");
            String baikeId = jsonObject.getString("baike_info");
            if (baikeId != null && !baikeId.isEmpty()) {
                JSONObject baikeInfo = JSON.parseObject(baikeId);
                String lemmaId = baikeInfo.getString("lemma_id");
                String baikeResult = getBaikeResult(lemmaId);
                System.out.println(baikeResult);
            }
        }
    }

    private static String plantRecognition(String imagePath, String accessToken) throws Exception {
        byte[] imgData = ImageUtil.readFileByBytes(imagePath);
        String imgStr = Base64.encodeBase64String(imgData);
        String imgParam = URLEncoder.encode(imgStr, "UTF-8");

        Map<String, String> paramMap = new HashMap<>();
        paramMap.put("image", imgParam);
        paramMap.put("baike_num", "1");

        String paramStr = HttpUtil.buildParamString(paramMap, "UTF-8");
        String url = PLANT_URL + "?" + paramStr;
        String result = HttpUtil.get(url, accessToken);
        return