Я пытаюсь использовать статический API Google Streetview для получения большого количества изображений с улиц.У меня есть рабочий ключ API и секрет подписи URL, но у меня проблемы с кодированием подписи.Независимо от того, что я пробовал, я получаю неправильную подпись, и URL не работает.Буду признателен за любую помощь.
Вот что я сделал (метод Encode не мой):
static void Main(string[] args)
{
Process.Start(GenerateURL(0, 0, "40.7488115", "-73.9855688", 1920, 1080, 90));
Console.ReadLine();
}
public static string GenerateURL(double heading, double pitch, string locationLat, string locationLong, int resX, int resY, int fov)
{
string universalURL = "size=" + resX + "x" + resY + "&location=" + locationLat + "," + locationLong + "&heading=" + heading + "&pitch=" + pitch + "&fov=" + fov + "&key=" + apiKey;
string getURL = "https://maps.googleapis.com/maps/api/streetview?" + universalURL;
string getSignature = "_maps_api_streetview?" + universalURL;
return getURL + "&signature=" + Encode(getSignature, signingKey);
}
public static string Encode(string input, string inputkey)
{
byte[] key = Encoding.ASCII.GetBytes(inputkey);
byte[] byteArray = Encoding.ASCII.GetBytes(input);
using (var myhmacsha1 = new HMACSHA1(key))
{
var hashArray = myhmacsha1.ComputeHash(byteArray);
return hashArray.Aggregate("", (s, e) => s + String.Format("{0:x2}", e), s => s);
}
}
Причина, по которой я использую _ вместо / для getSignature, заключается в том, что здесь он говорит, что его нужно заменить.Я уже пробовал с /, и он не работает.
Спасибо за любую помощь.