Access Key
域名服务API仅对申请的用户开放
,使用前请先提交工单申请。提交工单需要提供AK(Access Key),查看方式如下:管理控制平台>鼠标悬浮到右上角,您的用户名的地方不要点击,下面有一个”安全认证”>点击安全认证,里面有AK。
一般半天就能审核下来
使用API前的准备
自己搞签名太繁琐,可以用提供的SDK。下载地址,也可通过maven引用
pom.xml
<dependency>
<groupId>com.baidubce</groupId>
<artifactId>bce-java-sdk</artifactId>
<version>0.10.42</version>
</dependency>
通过使用【位置服务】测试SDK正确性。帮助文档
main.java
BceClientConfiguration config = new BceClientConfiguration();
config.setCredentials(new DefaultBceCredentials(ACCESS_KEY_ID, SECRET_ACCESS_KEY));
// 设置网络协议
config.setProtocol(Protocol.HTTPS);
// 设置允许打开的最大连接数
config.setMaxConnections(10);
// 设置建立连接的超时时间
config.setConnectionTimeoutInMillis(5000);
DuMapClient client = new DuMapClient(config);
PlaceSearchByRegionParam param = PlaceSearchByRegionParam.builder()
.query("ATM机") // 检索关键字
.tag("银行") // 检索分类偏好
.region("北京") // 检索行政区划区域
.output("json") // 输出格式为json字符串或者xml字符串
.build();
String response = client.placeQuery(appId, param); // <your-app-id> 为用户的appId,即前端应用列表中的应用id
System.out.println(response); //JSON字符串
位置服务
需要提供your-app-id,这个可以在控制台设置,链接
调用域名API
域名服务并没有自己的xxxClient,需要模仿DuMap服务,写一个。
DomainResponse.java
public class DomainResponse extends AbstractBceResponse {
private String payload;
public DomainResponse() {
}
public String getPayload() {
return this.payload;
}
public void setPayload(String payload) {
this.payload = payload;
}
}
DomainResponseHandler.java
public class DomainResponseHandler implements HttpResponseHandler {
@Override
public boolean handle(BceHttpResponse httpResponse, AbstractBceResponse response) throws Exception {
InputStream content = httpResponse.getContent();
DomainResponse domainResponse = (DomainResponse)response;
if (content != null) {
domainResponse.setPayload(new String(ByteStreams.toByteArray(content)));
content.close();
}
return true;
}
}
DomainClient.java
public class DomainClient extends AbstractBceClient {
private static HttpResponseHandler[] dumapHandlers = new HttpResponseHandler[]{new BceMetadataResponseHandler(), new BceErrorResponseHandler(), new DomainResponseHandler()};
public DomainClient(BceClientConfiguration config){
super(config, dumapHandlers);
}
public String query() throws URISyntaxException {
String s = "http://bcd.baidubce.com";
URI uri = HttpUtils.appendUri(new URI(s), "/v1/domain/price");
InternalRequest request = new InternalRequest(HttpMethodName.GET, uri);
request.addParameter("domain", "51fzlh.com");
DomainResponse response = this.invokeHttpClient(request, DomainResponse.class);
return response.getPayload();
}
}
Main.java
BceClientConfiguration config = new BceClientConfiguration();
config.setCredentials(new DefaultBceCredentials(ACCESS_KEY_ID, SECRET_ACCESS_KEY));
DomainClient client = new DomainClient(config);
System.out.println(client.query());