Wydaje mi się, że nie potrzebujesz wyciągać tokena za każdym razem. Wyciągnij go raz, zapisz gdzieś i korzystaj. Z dokumentacji wynika, że access_token jest ważny 90 dni, a refresh_token 180.
Lekko możesz na jednym tokenie śmigać 3 miesiące, a po 3 miesiącach robisz https://shop.url/webapi/rest/oauth/token?grant_type=refresh_token
.
Błąd sugeruje, że nie jesteś zalogowany, niepoprawny token. Druga sprawa, nie czytasz dokładnie co napisałem wcześniej.
request.AddHeader("client_id", "Test1");
request.AddHeader("client_secret", "Test1");
request.AddHeader("access_token", token);
AddHeader
nie AddParameter
. Ja wiem, że w tabelkach, w dokumentacji jest napisane Parameter
, ale parametry mogą być w url, body, header itp itd. Jeśli masz już token to wszystkie inne zapytania robisz już tylko z tokenem, nie potrzebujesz client_id
ani client_secret
. Przykład wyciągania listy towarów:
RestClient client = new RestClient(@"http://sklep/webapi");
RestRequest request = new RestRequest("rest/products", Method.GET);
request.AddHeader("Authorization", "Bearer " + token);
var response = client.Execute(request);
var content = response.Content;