2012-06-21 13 views

Odpowiedz

8

Musisz zakodować accountKey do Base64 i przekazuje go do każdego żądania za pomocą nagłówka Authorization.

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

... 

Kod ten oparty jest na przykład PHP znaleźć w dokumencie Migrating to the Bing Search API in Windows Azure Marketplace.

Aktualizacja: Zmodyfikowane połączenia encodeBase64, powinno być tak: accountKey + „:” + accountKey

+0

Droga wydaje się być poprawne, ale coś w setRequestProperty należy differenet ponieważ w ten sposób uzyskać responce wiadomość "Wymagane jest podstawowe uwierzytelnienie Wprowadź klucz konta jako hasło –

+1

Mój zły, zaktualizowałem próbkę kodu –

+0

Twój nowy kod generuje" złe żądanie ".Próbowałem również httpsCon.setRequestProperty (" Authorization: Basic ", accountKeyEnc), ale otrzymałem ponownie komunikat "Wymagane jest podstawowe uwierzytelnianie ..." @sandrinodimattia –