• Как составить st.signature для API Одноклассники?

    @luserz Автор вопроса
    Вот так сработало:
    -------------------
    //Получаем значение строки из переменной
    string attachment = "Пока";
    string secretKey = "123";
    string input = $"st.attachment={attachment}{secretKey}";

    System.Security.Cryptography.MD5 md5Hasher = System.Security.Cryptography.MD5.Create();
    byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input));
    StringBuilder md5hash = new StringBuilder();
    for (int i = 0; i < data.Length; i++)
    {
    md5hash.Append(data[i].ToString("x2"));
    }
    return md5hash.ToString();
  • Как составить st.signature для API Одноклассники?

    @luserz Автор вопроса
    Василий Банников, Согласен. Над задачей бьюсь неделю. Не понимаю(( Я начал изучать, но как обычно это надо сейчас(
  • Как составить st.signature для API Одноклассники?

    @luserz Автор вопроса
    Выдает вот такую ошибку:
    Тип Время Сообщение
    13:41:09 Компиляция кода Ошибка в действии "CS0106" "The modifier 'static' is not valid for this item". [Строка: 7; Cтолбец: 1]
    13:41:09 Компиляция кода Ошибка в действии "CS1525" "Invalid expression term 'static'". [Строка: 10; Cтолбец: 53]
    13:41:09 Компиляция кода Ошибка в действии "CS1026" ") expected". [Строка: 10; Cтолбец: 53]
    13:41:09 Компиляция кода Ошибка в действии "CS1002" "; expected". [Строка: 10; Cтолбец: 53]
    13:41:09 Компиляция кода Ошибка в действии "CS0106" "The modifier 'static' is not valid for this item". [Строка: 10; Cтолбец: 53]
    13:41:09 Компиляция кода Ошибка в действии "CS1001" "Identifier expected". [Строка: 10; Cтолбец: 73]
    13:41:09 Компиляция кода Ошибка в действии "CS1003" "Syntax error, ',' expected". [Строка: 10; Cтолбец: 73]
    13:41:09 Компиляция кода Ошибка в действии "CS1002" "; expected". [Строка: 10; Cтолбец: 76]
    13:41:09 Компиляция кода Ошибка в действии "CS1513" "} expected". [Строка: 16; Cтолбец: 4]
    13:41:09 Компиляция кода Ошибка в действии "CS1519" "Invalid token 'return' in class, struct, or interface member declaration". [Строка: 16; Cтолбец: 1]
    13:41:09 Компиляция кода Ошибка в действии "CS1022" "Type or namespace definition, or end-of-file expected". [Строка: 16; Cтолбец: 1]
    6321b3c280ff4184083632.jpeg
  • Как составить st.signature для API Одноклассники?

    @luserz Автор вопроса
    Если я передаю не фото, а просто текст = {"media":[{"type":"text","text":"привет"}],"publishAt":"2022-08-27 12:05:00","onBehalfOfGroup":"true","disableComments":"false"}.

    Я могу записать var attachmentBytes = '{"media":[{"type":"text","text":"привет"}],"publishAt":"2022-08-27 12:05:00","onBehalfOfGroup":"true","disableComments":"false"}'; ? или все необходимо положить в переменную attachment и экранировать?
  • Как составить st.signature для API Одноклассники?

    @luserz Автор вопроса
    На другом форуме написали:
    -------------
    1) var attachment = Convert.ToBase64(attachmentBytes); ToBase64 такого методаа клаасс не содержит, есть метод ToBase64String который в качестве параметра принимает массив байтов а не стринг.
    --------------
    Я не могу что-то прокомментировать т.к не силен в программировании только начал изучать. Я перепробовал Ваш код по разному и у меня не получилось(. Попробую еще сегодня в VisualStudio вечером, но код выше, который я написал сработал.
  • Как составить st.signature для API Одноклассники?

    @luserz Автор вопроса
    Василий Банников, Работает. Посмотрите вложение.
    6321aadc3d768934917546.jpeg
    6321aaeaa6ece644672853.jpeg
    6321aaf065883505973232.jpeg
    6321aaf493c20786259600.jpeg
  • Как составить st.signature для API Одноклассники?

    @luserz Автор вопроса
    Спасибо за код, но у меня он не сработал.
    Нашел рабочий вариант, но как в него записать данное выражение: md5("st.attachment=" + attachment + secretKey);

    Код:
    -------
    string input = "Привет";

    System.Security.Cryptography.MD5 md5Hasher = System.Security.Cryptography.MD5.Create();
    byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input));
    StringBuilder md5hash = new StringBuilder();
    for (int i = 0; i < data.Length; i++)
    {
    md5hash.Append(data[i].ToString("x2"));
    }
    return md5hash.ToString();
    -------

    Как срастить переменные? Не понимаю, что в итоге необходимо сделать. Захешировать всю строку запроса и срастить с secretKey или только st.attachment + secretKey. Как это сделать?