Доступ к Amazon Alexa ShoppingList через REST API на C# ⇐ C#
Доступ к Amazon Alexa ShoppingList через REST API на C#
Я хочу получить доступ к своему внутреннему списку покупок Alexa на C#.
Я прочитал всю документацию, которую смог найти, но не смог заставить ее работать должным образом.
Я просто хочу получить доступ к списку инструмента внутренней синхронизации сервера, который я создаю.
Мой текущий код:
частная асинхронная задача GetAlexaToken() { var endpointUri = "https://api.amazon.com/auth/o2/token"; var nvc = новый List(); nvc.Add(new KeyValuePair("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); nvc.Add(new KeyValuePair("grant_type", "client_credentials")); nvc.Add(new KeyValuePair("client_id", "amzn1.application-oa2-client.924096ecd9d542cdb5XXXXXXXXXXXXX")); nvc.Add(new KeyValuePair("client_secret", "amzn1.oa2-cs.v1.15db95e13a90827b693510fbfa68f709f14b5a7285651d0eXXXXXXXXXXXXX")); nvc.Add(new KeyValuePair("scope", "alexa:skill_messaging")); используя var authRequest = new HttpRequestMessage(HttpMethod.Post, endpointUri); authRequest.Content = новый FormUrlEncodedContent (nvc); вар authResponse = ждут _httpClient.SendAsync(authRequest); используя vargraphResponseJson = JsonDocument.Parse(await authResponse.Content.ReadAsStreamAsync()); var serializedJson = System.Text.Json.JsonSerializer.Serialize(graphResponseJson, new JsonSerializerOptions { WriteIndented = true, Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping }); вернуть AlexaAuthResponse.GetSingleResultFromJson(serializedJson); } Я получаю токен доступа следующим образом:
private async void button4_Click_1(отправитель объекта, EventArgs e) { вар аутентификация = ожидание GetAlexaToken(); var apiUri = "https://api.amazonalexa.com/v2/householdlists/"; используя vargraphRequest = new HttpRequestMessage(HttpMethod.Get, apiUri); graphRequest.Headers.Authorization = новый AuthenticationHeaderValue («Носитель», auth.access_token); graphRequest.Headers.TryAddWithoutValidation("Принять", "application/json;masked=false"); вар GraphResponseMessage = ждут _httpClient.SendAsync(graphRequest); используя vargraphResponseJson = JsonDocument.Parse(awaitgraphResponseMessage.Content.ReadAsStreamAsync()); var serializedJson = System.Text.Json.JsonSerializer.Serialize(graphResponseJson, new JsonSerializerOptions { WriteIndented = true, Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping }); } Вызов REST API списков домохозяйств возвращает результат:
"500 внутренняя ошибка сервера".
В моем специальном навыке Alexa я предоставил все возможные доступы к спискам!
[*]
Как мне получить необходимый идентификатор пользователя для моего навыка?
[*]
Как я могу получить необходимый токен согласия, чтобы узнать свои навыки и вернуть все списки покупок?
Я не могу найти работающего примера. все такое старое и везде скопленное...
Я хочу получить доступ к своему внутреннему списку покупок Alexa на C#.
Я прочитал всю документацию, которую смог найти, но не смог заставить ее работать должным образом.
Я просто хочу получить доступ к списку инструмента внутренней синхронизации сервера, который я создаю.
Мой текущий код:
частная асинхронная задача GetAlexaToken() { var endpointUri = "https://api.amazon.com/auth/o2/token"; var nvc = новый List(); nvc.Add(new KeyValuePair("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); nvc.Add(new KeyValuePair("grant_type", "client_credentials")); nvc.Add(new KeyValuePair("client_id", "amzn1.application-oa2-client.924096ecd9d542cdb5XXXXXXXXXXXXX")); nvc.Add(new KeyValuePair("client_secret", "amzn1.oa2-cs.v1.15db95e13a90827b693510fbfa68f709f14b5a7285651d0eXXXXXXXXXXXXX")); nvc.Add(new KeyValuePair("scope", "alexa:skill_messaging")); используя var authRequest = new HttpRequestMessage(HttpMethod.Post, endpointUri); authRequest.Content = новый FormUrlEncodedContent (nvc); вар authResponse = ждут _httpClient.SendAsync(authRequest); используя vargraphResponseJson = JsonDocument.Parse(await authResponse.Content.ReadAsStreamAsync()); var serializedJson = System.Text.Json.JsonSerializer.Serialize(graphResponseJson, new JsonSerializerOptions { WriteIndented = true, Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping }); вернуть AlexaAuthResponse.GetSingleResultFromJson(serializedJson); } Я получаю токен доступа следующим образом:
private async void button4_Click_1(отправитель объекта, EventArgs e) { вар аутентификация = ожидание GetAlexaToken(); var apiUri = "https://api.amazonalexa.com/v2/householdlists/"; используя vargraphRequest = new HttpRequestMessage(HttpMethod.Get, apiUri); graphRequest.Headers.Authorization = новый AuthenticationHeaderValue («Носитель», auth.access_token); graphRequest.Headers.TryAddWithoutValidation("Принять", "application/json;masked=false"); вар GraphResponseMessage = ждут _httpClient.SendAsync(graphRequest); используя vargraphResponseJson = JsonDocument.Parse(awaitgraphResponseMessage.Content.ReadAsStreamAsync()); var serializedJson = System.Text.Json.JsonSerializer.Serialize(graphResponseJson, new JsonSerializerOptions { WriteIndented = true, Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping }); } Вызов REST API списков домохозяйств возвращает результат:
"500 внутренняя ошибка сервера".
В моем специальном навыке Alexa я предоставил все возможные доступы к спискам!
[*]
Как мне получить необходимый идентификатор пользователя для моего навыка?
[*]
Как я могу получить необходимый токен согласия, чтобы узнать свои навыки и вернуть все списки покупок?
Я не могу найти работающего примера. все такое старое и везде скопленное...
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как связать Java-код в AWS Lambda и навыки Alexa в консоли Amazon Alexa?
Anonymous » » в форуме JAVA - 0 Ответы
- 11 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как пройти аутентификацию для FCM Rest API с помощью Google REST API в PHP REST API?
Anonymous » » в форуме Php - 0 Ответы
- 162 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как зарегистрировать сервлет Amazon Alexa в приложении Java Springboot 3.xx
Anonymous » » в форуме JAVA - 0 Ответы
- 41 Просмотры
-
Последнее сообщение Anonymous
-