Когда мое приложение пытается перенаправить после того, как пользователь разрешает ему доступ, я получаю сообщение об ошибке:
Эта страница не работает. Localhost не отправил никаких данных. ERR_EMPTY_RESPONSE
Я возвращаю его в действие контроллера. Но это не работает. Я уже пытался добавить [redirect("/Callback")]
выше действия контроллера обратного вызова.
using apigoogle.classes;
using Microsoft.AspNetCore.Mvc;
namespace apigoogle.Controllers
{
public class HomeController : Controller
{
static apiconnection _Api = new apiconnection ();
public IActionResult Index()
{
return View();
}
[HttpPost]
public IActionResult ButtonAction()
{
return Redirect(_Api.GetCodeurl());
}
public IActionResult Callback(string code, string scope)
{
_Api.GetToken(code);
return Content(code);
}
}
}
----
using Microsoft.AspNetCore.Http.Extensions;
using Newtonsoft.Json.Linq;
using System.Collections.Generic;
using System.Net.Http;
namespace apigoogle.classes
{
public class apiconnection
{
string Token;
public string GetCodeurl()
{
QueryBuilder qb = new QueryBuilder();
qb.Add("access_type", "offline");
qb.Add("response_type", "code");
qb.Add("client_id", "23444050254-nqv9ieg76e1d8d3tb6cd93fk11mntkh0.apps.googleusercontent.com");
qb.Add("scope", "https://www.googleapis.com/auth/calendar.readonly");
qb.Add("redirect_uri", "http://localhost:5001/Home/Callback");
string url = "https://accounts.google.com/o/oauth2/v2/auth" + qb.ToQueryString();
return url;
}
public void GetToken(string code)
{
if (code != null)
{
}
}
public List<afspraak> GetEventList()
{
List<afspraak> afspraken = new List<afspraak>();
using (HttpClient client = new HttpClient())
{
string response;
client.DefaultRequestHeaders.Add("Authorization", "Bearer ");
response = client.GetStringAsync("https://www.googleapis.com/calendar/v3/calendars/primary/events").Result;
JObject json = JObject.Parse(response);
foreach (JToken item in json["items"])
{
afspraak a = new afspraak
{
naam = item["summary"].ToString(),
start = item["start"]["dateTime"].ToString(),
eind = item["end"]["dateTime"].ToString(),
url = item["htmlLink"].ToString()
};
afspraken.Add(a);
}
}
return afspraken;
}
}
}