2012-06-21 8 views

ответ

8

Вам нужно кодировать accountKey на Base64 и передать его каждому запросу, используя заголовок авторизации.

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); 

... 

Этот код основан на примере PHP нашел в Migrating to the Bing Search API in Windows Azure Marketplace документе.

Update: Модифицированная вызов encodeBase64, это должно быть так: accountKey + «:» + accountKey

+0

Путь кажется правильным, но что-то в setRequestProperty должно быть differenet, потому что таким образом я получаю к этому товару сообщение «Основная проверка подлинности требуется. Введите ключ учетной записи в качестве пароля. –

+1

Неплохо, я обновил образец кода –

+0

Ваш новый код создает« плохой запрос ». Я также попробовал httpsCon.setRequestProperty (« Авторизация: Basic », accountKeyEnc), но я снова получил сообщение «Требуется базовая аутентификация ...» @sandrinodimattia –

Смежные вопросы