Advertisement
Guest User

Untitled

a guest
Nov 5th, 2016
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.32 KB | None | 0 0
  1. public void TestRestSP2013(string accessToken)
  2. {
  3. HttpWebRequest endpointRequest = (HttpWebRequest)HttpWebRequest.Create(
  4. "http://<site url>/_vti_bin/client.svc/web/lists/getbytitle('TestList')/Items");
  5. endpointRequest.Method = "GET";
  6. endpointRequest.Accept = "application/json;odata=verbose";
  7. endpointRequest.Headers.Add("Authorization", "Bearer " + accessToken);
  8.  
  9. HttpWebResponse endpointResponse = (HttpWebResponse)endpointRequest.GetResponse();
  10. }
  11.  
  12. public void Aut1()
  13. {
  14. const string format0 = @"{0}{1}";
  15. const string format1 = @"{0}:{1}";
  16. string userName = string.Format(format0, domain, user);
  17. string userandpassword = Convert.ToBase64String(Encoding.Default.GetBytes(string.Format(format1, userName, password)));
  18.  
  19. HttpClient _Client = new System.Net.Http.HttpClient();
  20. _Client.DefaultRequestHeaders.Accept.Clear();
  21. _Client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
  22. _Client.BaseAddress = new Uri(apiBaseUri);
  23. _Client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", userandpassword);
  24. // _Client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", userandpassword);
  25. var res = _Client.GetAsync("/_api/lists");//.ConfigureAwait(false);
  26. var test = res.Result;
  27. outPut = test.ToString();
  28. }
  29.  
  30. public string GetDigets()
  31. {
  32. String retVal = "";
  33. try
  34. {
  35. string url = apiBaseUri;
  36. HttpClient client = new HttpClient(new HttpClientHandler() { Credentials = new NetworkCredential(user, password, domain) });
  37. client.BaseAddress = new System.Uri(url);
  38. string cmd = "_api/contextinfo";
  39. client.DefaultRequestHeaders.Add("Accept", "application/json;odata=verbose");
  40. client.DefaultRequestHeaders.Add("ContentType", "application/json");
  41. client.DefaultRequestHeaders.Add("ContentLength", "0");
  42. StringContent httpContent = new StringContent("");
  43. var response = client.PostAsync(cmd, httpContent).Result;
  44. if (response.IsSuccessStatusCode)
  45. {
  46. string content = response.Content.ReadAsStringAsync().Result;
  47.  
  48. JObject v = JObject.Parse(content);
  49. //dynamic val = JValue.Parse(content);
  50. var d = v.SelectToken("d");
  51.  
  52. //JObject val = JValue.Parse(content).ToObject()
  53.  
  54. JObject wi = d.SelectToken("GetContextWebInformation") as JObject;
  55. retVal = wi.GetValue("FormDigestValue").ToString();
  56. }
  57. }
  58. catch
  59. { }
  60. return retVal;
  61. }
  62.  
  63. public async Task GetItems()
  64. {
  65. _token = GetDigets();
  66. string digest = _token;
  67. string tempVal = "Error ";
  68. try
  69. {
  70. string url = apiBaseUri;
  71. HttpClient client = new HttpClient(new HttpClientHandler()
  72. {
  73. Credentials = new NetworkCredential(user, password, domain)
  74. });
  75. client.BaseAddress = new System.Uri(url);
  76. client.DefaultRequestHeaders.Clear();
  77. client.DefaultRequestHeaders.Add("Accept", "application/json;odata=verbose");
  78. client.DefaultRequestHeaders.Add("ContentType", "application/json;odata=verbose");
  79. client.DefaultRequestHeaders.Add("X-RequestDigest", digest);
  80. client.DefaultRequestHeaders.Add("X-HTTP-Method", "POST");
  81. StringContent strContent = new StringContent("");
  82. HttpResponseMessage response = new HttpResponseMessage();
  83.  
  84. response = await client.PostAsync("_api/web/lists/getbytitle('test')/GetItems(query=@v1)?@v1={'ViewXml':''}", strContent);
  85. // response = await client.PostAsync("_api/lists/getbytitle('Pharmakonlist')/items", strContent); This dont work
  86.  
  87. response.EnsureSuccessStatusCode();
  88. if (response.IsSuccessStatusCode)
  89. {
  90. var content = response.Content.ReadAsStringAsync();
  91. string test = content.Result.ToString(); // This is XML
  92. // var d = JObject.Parse(content.Result);
  93. //JObject results = d.SelectTokens("d");
  94. // string content = response.Content.ReadAsStringAsync().Result;
  95. // JObject val = JToken.Parse(content).ToObject();
  96. //JObject d = val.GetValue("d");
  97. }
  98. }
  99. catch (Exception ex)
  100. { string Tempmessage = ex.Message; }
  101. outPut = tempVal;
  102. // return tempVal;
  103. }
  104.  
  105. private static async Task<string> GetAPIToken(string userName, string password, string apiBaseUri)
  106. {
  107. using (var client = new HttpClient())
  108. {
  109. //setup client
  110. client.BaseAddress = new Uri(apiBaseUri);
  111. client.DefaultRequestHeaders.Accept.Clear();
  112. client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
  113.  
  114. //setup login data
  115. var formContent = new FormUrlEncodedContent(new[]
  116. {
  117. new KeyValuePair<string, string>("grant_type", "password"),
  118. new KeyValuePair<string, string>("username", userName),
  119. new KeyValuePair<string, string>("password", password),
  120. });
  121. //send request
  122. HttpResponseMessage responseMessage = await client.PostAsync("/Token", formContent);
  123.  
  124. //get access token from response body
  125. var responseJson = await responseMessage.Content.ReadAsStringAsync();
  126. var jObject = JObject.Parse(responseJson);
  127. return jObject.GetValue("access_token").ToString();
  128. }
  129. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement