Správná forma WebRequest   otázka

C#

Snažím se poslat dotaz na server, pro obdržení access tokenu ke svojí aplikaci (WP7). Ten dotaz má být metodou POST a obsahovat několik údajů. Všechny údaje mám, ale mám problém se sestavením toho requestu.

Výsledný request by měl vypadat nějak takhle:

POST /oauth/token HTTP/1.1
Host: api.quizlet.com
Authorization: Basic c3ZWRUhNZVA0aDp3eS4yUXA0ZXNFY0xQUFl2WkRFTGpn
Content-Type: application/x-www-form-urlencoded; charset=UTF-8

grant_type=authorization_code&code=GENERATED_CODE

Moje dosavadní implementace vypadá nějak takhle:

var client = new WebClient();
client.Credentials = new NetworkCredential("ClientID", "Password");
client.UploadStringAsync(new Uri(https://api.quizlet.com/oauth/token),"POST",
"grant_type=authorization_code&code=123456789&redirect_uri=urladresa");

V eventhandleru mi to vyhazuje WebException, protože server neodpověděl. Takže mám určitě špatně poslaný ten požadavek. Můžete mě někdo správně nasměrovat?

PS Dokumentace, podle které postupuji je zde:

https://quizlet.com/api/2.0/docs/authori...

A zasekl jsem se na bodu 2.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ještě doplním, že validní php kód toho dotazu vypadá takto:

Ty údaje v $payload mám, ale možná je posílám ve špatném formátu.

$payload = array(
        'code' => $_GET['code'],
        'redirect_uri' => $myUrl,
        'grant_type' => 'authorization_code'
    );
    $curl = curl_init($tokenUrl);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_USERPWD, "{$myClientId}:{$mySecret}");
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $payload);

Vlastně bych to akorát potřeboval přepsat do C#.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback