2012-06-21 7 views

Respuesta

8

Tendrá que codificar su accountKey to Base64 y páselo a cada solicitud usando el encabezado 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); 

... 

Este código se basa en el ejemplo del PHP que se encuentra en el documento Migrating to the Bing Search API in Windows Azure Marketplace.

actualización: Modificado la llamada encodeBase64, debería ser así: accountKey + ":" + accountKey

+0

La forma parece ser correcto, pero algo en el setRequestProperty debe differenet porque de esta manera consigo el responce mensaje "Se requiere autenticación básica. Ingrese la clave de cuenta como contraseña. –

+1

Malo, he actualizado el código de muestra –

+0

Su nuevo código produce una" Solicitud incorrecta. También probé httpsCon.setRequestProperty ("Authorization: Basic", accountKeyEnc), pero recibí de nuevo el mensaje "Se requiere autenticación básica ..." @sandrinodimattia –