Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Ошибка 400 в коде c#.

Глеб Гарусин Ученик (9), на голосовании 8 месяцев назад
Скорее всего что то не так вот тут
 requestParams["content"] = "{\"operationName\":\"...\"}"; 
https://pastecode.io/s/8tpq2ur3 вот ссылка на код
Голосование за лучший ответ
sky Мастер (1317) 9 месяцев назад
Ошибка 400- страница не найдена
Глеб ГарусинУченик (9) 9 месяцев назад
ошибка 400 — это сбой на стороне клиента
я Гуру (3520) 9 месяцев назад
using System;
using System.Threading.Tasks;
using Leaf.xNet;
using Newtonsoft.Json.Linq;

namespace TwitchBot
{
public class TwitchBot
{
public async Task Loop1()
{
// Other code remains the same

var requestParams = new RequestParams();
var contentJson = new JObject();
contentJson["operationName"] = "yourOperationName"; // Замените на ваше значение operationName
string contentString = contentJson.ToString();
requestParams["content"] = contentString;

// Continue with your code for sending the request
}
}

public class Program
{
public static void Main()
{
TwitchBot bot = new TwitchBot();
Task.Run (async () => await bot.Loop1());
Console.ReadLine();
}
}
}
Sergio 2.1 Оракул (67423) 9 месяцев назад
1. Убедитесь, что "Client-ID", который вы используете, действителен и имеет нужные авторизации для совершаемых вами запросов.

2. Проверьте фактическое содержимое ответа apiString, чтобы увидеть, есть ли там более информативное сообщение об ошибке.

3. Вместо использования .ToString() на возвращаемом значении вашего метода reqFull.Post , вам следует смотреть на статус код и содержимое ответа, чтобы понять, что происходит. Используйте reqFull.Post (" https://gql.twitch.tv/gql ", requestParams).ToString() для анализа ответа и проверки наличия ошибок в теле сообщения.

4. Поскольку вы пытаетесь получить ссылки для потоковой передачи видео с Twitch, убедитесь, что вы следуете руководствам API Twitch и что ваше приложение имеет необходимые разрешения.

Попробуйте отладить код, распечатывая содержимое HttpResponse и статус код для каждого запроса. Это поможет вам понять, что идет не так:
 HttpResponse response = reqFull.Post("https://gql.twitch.tv/gql", requestParams); 
Console.WriteLine($"Response status: {response.StatusCode}");
Console.WriteLine($"Response content: {response.ToString()}");
Используйте подобные шаги для отладки и для других запросов.

Кроме того, на следующий момент следует обратить внимание:
Вы используете HTML-тег якоря в методе AddHeader внутри метода postLog, что неверно и должно быть изменено на корректную строку реферера.
Похожие вопросы