How can I authenticate in Java to use the new bing search api from Azure Marketplace?The migration guide does not provide you with info about Java
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
You'll need to encode your accountKey to Base64 and pass it to each request using the Authorization header.
String bingUrl = "https://api.datamarket.azure.com/Bing/Search/................";
String accountKey = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
byte[] accountKeyBytes = Base64.encodeBase64((accountKey + ":" + accountKey).getBytes());
String accountKeyEnc = new String(accountKeyBytes);
URL url = new URL(bingUrl);
URLConnection urlConnection = url.openConnection();
urlConnection.setRequestProperty("Authorization", "Basic " + accountKeyEnc);
...
This code is based on the the PHP example found in the Migrating to the Bing Search API in Windows Azure Marketplace document.
Update: Modified the encodeBase64 call, it should be like this: accountKey + ":" + accountKey