2016-08-28 7 views
0

oAuthを使用して自分のアプリを認証しています。私はコードaccess_tokenとrefresh_tokenを得ることができました。次のステップは、現在のユーザーに関する情報を取得しようとすることです。Reddit APIからデータを取得しようとすると403エラーが発生する

public async void GetCurrentUser() 
    { 
     using (var client = new HttpClient()) 
     { 
      client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", AccessToken); 
      var response = await client.GetAsync("https://oauth.reddit.com/api/v1/me"); 
      if (response.IsSuccessStatusCode) 
      { 
       var json = await response.Content.ReadAsStringAsync(); 
       var obj = Newtonsoft.Json.JsonConvert.DeserializeObject<dynamic>(json); 
      } 
     } 
    } 

これはこれを行うために使用している方法です。ただし、応答は常に403(禁止)エラーコードです。どんなアイデアが間違っているのでしょうか? access_tokenは私がリクエストをしたときに得たものですhttps://oauth.reddit.com/api/v1/access_token

私はFiddlerで同じリクエストを作成するとトークンが正しいと思います。

答えて

0

ANSWER:

は、カスタムユーザーエージェント

  HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, _endpointUri + "me"); 
      request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", AccessToken); 
      request.Headers.Add("User-Agent", Uri.EscapeDataString("android:com.arnvanhoutte.redder:v1.2.3 (by /u/nerdiator)")); 

      var response = await client.SendAsync(request); 
を追加することによって、それを修正
関連する問題