我有一个xamarin android应用程序,通过他们的API和xamarin.auth连接到fitbit,我有访问令牌,但当试图GET json响应时,得到一个未经授权的代码。我试着将访问令牌添加到url中,但没有成功。
这是我的代码。
if (e.IsAuthenticated)
{
var request = new OAuth2Request("GET", new System.Uri("https://api.fitbit.com/1/user/-/profile.json?access_token=" + e.Account.Properties["access_token"]), null, e.Account);
request.AccessTokenParameterName = e.Account.Properties["access_token"];
string type = e.Account.Properties["token_type"];
var response = await request.GetResponseAsync();
var json = response.GetResponseText();
}
我不知道如何在OAuth2Request的头中添加授权。
任何帮助都是非常感激的
所以我最终添加了一个自定义请求类来扩展OAuth2Request类,并添加了另一个GetResponseAsync函数,该函数将访问令牌作为参数。然后我将授权添加到头,其余的函数保持原样。不知道Xamarin.Auth库是否有办法用现在的方式来实现,但对我来说是可行的。
public class CustomRequest : OAuth2Request{ //..
public virtual async Task<Response> GetResponseAsync(string accessToken){//..
httpRequest.Headers.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);