Ссылка на объект не установлена на экземпляр объекта-httpclient
Я этот Фейсбукконтроллер
[MobileAppController] [Authorize] public class FacebookController : ApiControlle private TodoUserService todoUserService; protected override void Initialize(HttpControllerContext controllerContext) { base.Initialize(controllerContext); todoUserService = new TodoUserService(); } public async Task<TodoUser> Get() { var creds = await this.User.GetAppServiceIdentityAsync<FacebookCredentials>(this.Request); return await todoUserService.GetFacebookUserInfoAsync(creds.AccessToken); } }
И TodoUserService
public async Task<TodoUser> GetFacebookUserInfoAsync(string accessToken) { TodoUser info = new TodoUser(); try { using (var client = new HttpClient()) { var response = await client.GetAsync("https://graph.facebook.com/me " + "?access_token=" + accessToken + "&fields=name,picuture,first_name,last_name,id"); var o = JObject.Parse(await response.Content.ReadAsStringAsync()); info.Name = o["name"].ToString(); info.ProfilePicture = (o["data"]["url"].ToString()); info.FacebookId = o["id"].ToString(); info.FirstName = o["first_name"].ToString(); info.LastName = o["last_name"].ToString(); } } catch (Exception ex) { info.Name = ex.Message + "\n" + ex.StackTrace; } return info; }
Я получаю
Object reference not set to an instance of an objectисключение, когда
client.GetAsync("url")призванный.
Трассировка стека
"at MyExpenditureService.Services.TodoUserService.<GetFacebookUserInfoAsync>d__0.MoveNext()" Any idea how to fix this?
Что я уже пробовал:
Я читал c# - что такое NullReferenceException и как его исправить? - переполнение стека[^ но это не помогает.
Я пытался использовать HttpWebRequest, но при передаче того же uri получаю 404 not found.
Uri и маркер доступа работают так же, как я тестировал с postman.