Использование Moz API в C#C#

Место общения программистов C#
Anonymous
Использование Moz API в C#

Сообщение Anonymous »

Я пытаюсь получить доступ к API Moz в приложении winform. Я просмотрел руководство по PHP и попытался преобразовать его в C#, но у меня возникли проблемы.
Пример для PHP: https://github.com/seooz/SEOmozAPISamples/blob /master/php/signed_authentication_sample.php
Я думаю, что моя подпись испорчена. В документах сказано, что:

"Подпись: хеш HMAC-SHA1 вашего идентификатора доступа, параметра Expires и вашего секретного ключа. Безопасный хэш должна быть закодирована в формате Base64, а затем в URL-кодировке, прежде чем Mozscape примет подпись как действительную."

Код: Выделить всё

long epochTicks = new DateTime(1970, 1, 1).Ticks;
long unixTime = ((DateTime.UtcNow.Ticks - epochTicks) / TimeSpan.TicksPerSecond) + 500;
var id = "mozscape-xxxxxxxx";
var secretKey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxx";
var enc = Encoding.ASCII;
HMACSHA1 hmac = new HMACSHA1(enc.GetBytes(secretKey));
hmac.Initialize();

var access = "mozscape-fa667096b" + "\r\n" + unixTime;

byte[] buffer = enc.GetBytes(access);
string signature = BitConverter.ToString(hmac.ComputeHash(buffer));

string signatureStep2 = System.Text.Encoding.UTF8.EncodeBase64(signature);
string signatureStep3 = HttpUtility.UrlEncode(signatureStep2);
Есть идеи? Я получаю сообщение об ошибке: моя аутентификация не удалась.

Подробнее здесь: https://stackoverflow.com/questions/376 ... in-c-sharp

Вернуться в «C#»