如何从API将accesstoken保存为字符串(C#Xamarin Studio)
我刚开始学习编程,目前正在尝试开发一款android移动应用程序。我看了很多教程,试图在网上找到解决方案,但我似乎不太懂。 所以我现在向你们寻求帮助 我在C#Xamarin Studio工作,我试图在REST API的帮助下创建一个登录系统,我不确定如何将accesstoken保存到字符串中,以便在进一步的请求中使用它 文件:MainActivity.cs如何从API将accesstoken保存为字符串(C#Xamarin Studio),c#,android,json,api,xamarin,C#,Android,Json,Api,Xamarin,我刚开始学习编程,目前正在尝试开发一款android移动应用程序。我看了很多教程,试图在网上找到解决方案,但我似乎不太懂。 所以我现在向你们寻求帮助 我在C#Xamarin Studio工作,我试图在REST API的帮助下创建一个登录系统,我不确定如何将accesstoken保存到字符串中,以便在进一步的请求中使用它 文件:MainActivity.cs 在Postman API工具中 (我在标题中发送用户名和密码,并收到以下文本) { "Result": { ”mRegister":
在Postman API工具中 (我在标题中发送用户名和密码,并收到以下文本)
{
"Result": {
”mRegister": {
"allowed": 0,
”Testmsg": "**"
},
` …`
"token": ”EB9TEBINlVOASM0Ok04RlIjI8JGMVNVV1smFu5MT"
}
}
我知道我有很多东西要学,但我真的很感激你的帮助,这样我就可以开始了 提前谢谢你! 您是否尝试过:
accesstoken = mClient.Headers.Get("token").ToString();
您是否尝试过:
accesstoken = mClient.Headers.Get("token").ToString();
获取令牌形式的json字符串
使用Newtonsoft.Json库,创建响应Json对象。并获取令牌字符串
以下示例显示如何创建User
json对象以获取用户名和密码:
using Newtonsoft.Json;
public class MainActivity : Activity
{
protected override async void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
BlobCache.ApplicationName = "AkavacheText";
string json = @"{ 'Username': 'Mike','Password': 'Ma'}";
SetContentView(Resource.Layout.Main);
var getData = JsonConvert.DeserializeObject<User>(json);
System.Console.WriteLine(getData.Username+"---"+ getData.Password);
}
}
public class User
{
public string Username { get; set; }
public string Password { get; set; }
}
使用Newtonsoft.Json;
公共课活动:活动
{
受保护的重写异步void OnCreate(捆绑包)
{
base.OnCreate(bundle);
BlobCache.ApplicationName=“AkavacheText”;
字符串json=@“{'Username':'Mike','Password':'Ma'}”;
SetContentView(Resource.Layout.Main);
var getData=JsonConvert.DeserializeObject(json);
System.Console.WriteLine(getData.Username+“--”+getData.Password);
}
}
公共类用户
{
公共字符串用户名{get;set;}
公共字符串密码{get;set;}
}
string json
应该是您的响应字符串User
对象应该是响应对象,其结构取决于json格式
获取令牌形式的json字符串
使用Newtonsoft.Json库,创建响应Json对象。并获取令牌字符串
以下示例显示如何创建User
json对象以获取用户名和密码:
using Newtonsoft.Json;
public class MainActivity : Activity
{
protected override async void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
BlobCache.ApplicationName = "AkavacheText";
string json = @"{ 'Username': 'Mike','Password': 'Ma'}";
SetContentView(Resource.Layout.Main);
var getData = JsonConvert.DeserializeObject<User>(json);
System.Console.WriteLine(getData.Username+"---"+ getData.Password);
}
}
public class User
{
public string Username { get; set; }
public string Password { get; set; }
}
使用Newtonsoft.Json;
公共课活动:活动
{
受保护的重写异步void OnCreate(捆绑包)
{
base.OnCreate(bundle);
BlobCache.ApplicationName=“AkavacheText”;
字符串json=@“{'Username':'Mike','Password':'Ma'}”;
SetContentView(Resource.Layout.Main);
var getData=JsonConvert.DeserializeObject(json);
System.Console.WriteLine(getData.Username+“--”+getData.Password);
}
}
公共类用户
{
公共字符串用户名{get;set;}
公共字符串密码{get;set;}
}
string json
应该是您的响应字符串User
对象应该是响应对象,其结构取决于json格式 “将accesstoken保存到字符串”是什么意思?您已经收到了来自服务器的json响应,我想您只需要从json字符串中获取令牌。谢谢您的回复!好的,我明白了,你知道我是如何从json字符串中获取令牌的吗?我需要令牌将其用作接收其他请求的标头值。您是什么意思将accesstoken保存到string
?您已经收到了来自服务器的json响应,我想您只需要从json字符串中获取令牌。谢谢您的回复!好的,我明白了,你知道我是如何从json字符串中获取令牌的吗?我需要令牌作为接收其他请求的标头值。谢谢您的回复John!是的,这就是我现在代码中的内容,但是我得到了一个空引用异常。我不知道在添加用户名和密码后是否会遗漏一步。我觉得我应该有一些代码让它在获得令牌之前先同步(或做其他什么)?因为我只有在登录后才能拿到代币。谢谢你的回复,约翰!是的,这就是我现在代码中的内容,但是我得到了一个空引用异常。我不知道在添加用户名和密码后是否会遗漏一步。我觉得我应该有一些代码让它在获得令牌之前先同步(或做其他什么)?因为我只有在登录后才能获得令牌。