如何从Visual Studio中开发的Android C#应用程序访问SoftLayer对象存储。

如何从Visual Studio中开发的Android C#应用程序访问SoftLayer对象存储。,c#,visual-studio,xamarin.android,ibm-cloud-infrastructure,C#,Visual Studio,Xamarin.android,Ibm Cloud Infrastructure,如何从Visual Studio中开发的Android C#应用程序访问SoftLayer对象存储。我正在尝试在VS中添加一个Web引用,以便使用存储API服务。我已经阅读了,但仍然找不到如何做到这一点。对于使用C#For SoftLayer,有下一个可用链接: 下一个链接为REST提供对象存储信息: 下一个例子是如何使用C#与SoftLayer API交互。该示例遵循前面的C#链接 如果您决定通过curl管理对象存储rest api,但将其包装到C代码中,那么下一个链接也可能会对您有所帮助

如何从Visual Studio中开发的Android C#应用程序访问SoftLayer对象存储。我正在尝试在VS中添加一个Web引用,以便使用存储API服务。我已经阅读了,但仍然找不到如何做到这一点。

对于使用C#For SoftLayer,有下一个可用链接:

下一个链接为REST提供对象存储信息:

下一个例子是如何使用C#与SoftLayer API交互。该示例遵循前面的C#链接

如果您决定通过curl管理对象存储rest api,但将其包装到C代码中,那么下一个链接也可能会对您有所帮助:


谢谢,非常感谢-任务的下一部分是将Android设备上的文件上载到对象存储。代码有点(!)凌乱,缺少错误检查,但希望能为其他试图这样做的人指明正确的方向

var path = Android.OS.Environment.ExternalStorageDirectory ;
var filename = path + Java.IO.File.Separator + string.Format("{0}", prefix) + "mydata.txt";
string username = "SLOS1234567-1:SL1234567";
string apiKey = "1234567891234567891234567891234567891234567891234567891234567891";
string tokenval, URLval, URLcomp;

//Create a web request for authentication.
HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create("https://syd01.objectstorage.softlayer.net/auth/v1.0");

//Get the headers associated with the request.
WebHeaderCollection myWebHeaderCollection = myHttpWebRequest.Headers;

//Add the X-Auth-User header (for OS user) in the request.
myWebHeaderCollection.Add("X-Auth-User", username);

//Add the X-Auth-Key header (for the API key) in the request.
myWebHeaderCollection.Add("X-Auth-Key",apiKey);

//Get the associated response - the auth token and storage URL.
HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();

tokenval = myHttpWebResponse.GetResponseHeader("X-Auth-Token");
URLval = myHttpWebResponse.GetResponseHeader("X-Storage-Url");
URLcomp = URLval + "/mycontainer/myDirectory/" + string.Format("{0}", prefix) + "mydata.txt";

//Upload the file
WebClient wc = new WebClient();
wc.Headers.Add("X-Auth-Token",tokenval);
wc.UploadFile(URLcomp, "PUT", filename);
var path = Android.OS.Environment.ExternalStorageDirectory ;
var filename = path + Java.IO.File.Separator + string.Format("{0}", prefix) + "mydata.txt";
string username = "SLOS1234567-1:SL1234567";
string apiKey = "1234567891234567891234567891234567891234567891234567891234567891";
string tokenval, URLval, URLcomp;

//Create a web request for authentication.
HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create("https://syd01.objectstorage.softlayer.net/auth/v1.0");

//Get the headers associated with the request.
WebHeaderCollection myWebHeaderCollection = myHttpWebRequest.Headers;

//Add the X-Auth-User header (for OS user) in the request.
myWebHeaderCollection.Add("X-Auth-User", username);

//Add the X-Auth-Key header (for the API key) in the request.
myWebHeaderCollection.Add("X-Auth-Key",apiKey);

//Get the associated response - the auth token and storage URL.
HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();

tokenval = myHttpWebResponse.GetResponseHeader("X-Auth-Token");
URLval = myHttpWebResponse.GetResponseHeader("X-Storage-Url");
URLcomp = URLval + "/mycontainer/myDirectory/" + string.Format("{0}", prefix) + "mydata.txt";

//Upload the file
WebClient wc = new WebClient();
wc.Headers.Add("X-Auth-Token",tokenval);
wc.UploadFile(URLcomp, "PUT", filename);