Jak mogę uwierzytelnić w Javie użyć wyszukiwarki Bing nowe API od Azure Marketplace? Przewodnik migracji nie dostarczy Ci informacji o JavieBing Search API Azure Marketplace Authentication w Javie
5
A
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
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 –
Mój zły, zaktualizowałem próbkę kodu –
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 –