PageRenderTime 50ms CodeModel.GetById 26ms RepoModel.GetById 0ms app.codeStats 0ms

/Code/Channels/Hyves/HyvesApiRequest.cs

http://github.com/waseems/inbox2_desktop
C# | 46 lines | 38 code | 7 blank | 1 comment | 0 complexity | 4c139f7f062391614fe349b507142701 MD5 | raw file
Possible License(s): BSD-3-Clause
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Net;
  6. using System.Text;
  7. using System.Xml.Linq;
  8. using Inbox2.Platform.Framework.Extensions;
  9. using Inbox2.Platform.Framework.OAuth;
  10. namespace Inbox2.Channels.Hyves
  11. {
  12. public static class HyvesApiRequest
  13. {
  14. public const string AllMethods = "cities.get,countries.get,blogs.create,blogs.createRespect,blogs.get,blogs.getByTag,blogs.getByUser,blogs.getComments,blogs.getForFriends,blogs.getRespects,fancylayout.parse,friends.get,friends.getDistance,friends.getIncomingInvitations,friends.getOutgoingInvitations,gadgets.get,gadgets.getByUser,gadgets.create,gadgets.createRespect,gadgets.getComments,gadgets.getRespects,listeners.create,listeners.delete,listeners.get,listeners.getAll,listeners.getByType,media.get,media.getAlbums,media.getByAlbum,media.getByTag,media.getComments,media.getRespects,media.createRespect,pings.get,pings.getByTargetUser,pings.getByUser,regions.get,tips.createRespect,tips.get,tips.getByUser,tips.getCategories,tips.getComments,tips.getForFriends,tips.getRespects,users.get,users.getByUsername,users.getLoggedin,users.getRespects,users.getScraps,users.getTestimonials,users.search,users.searchInFriends,users.createRespect,wwws.get,wwws.getByUser,wwws.getForFriends,wwws.create,messages.getUnreadCount,messages.delete,messages.get,messages.getInbox,messages.setRead,messages.send";
  15. public static XElement PerformRequest(Uri uri)
  16. {
  17. return PerformRequest(uri, null, null);
  18. }
  19. public static XElement PerformRequest(Uri uri, string token, string tokenSecret)
  20. {
  21. string data = OAuthUriBuilder.Build(uri,
  22. "/Settings/Channels/Hyves/ApiKey".AsKey("MTY3NV_uGz3T0QPqZ8hPKCI5Ep5m"),
  23. "/Settings/Channels/Hyves/ApiSecret".AsKey("MTY3NV_y9u4XHMH0d2jFzT0eN6tX"),
  24. token,
  25. tokenSecret);
  26. HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri("http://data.hyves-api.nl/"));
  27. request.Method = "POST";
  28. request.ContentType = "application/x-www-form-urlencoded";
  29. request.UserAgent = "inbox2";
  30. byte[] bytes = Encoding.UTF8.GetBytes(data);
  31. request.ContentLength = bytes.Length;
  32. // Write post data to request stream
  33. using (Stream requestStream = request.GetRequestStream())
  34. requestStream.Write(bytes, 0, bytes.Length);
  35. HttpWebResponse response = (HttpWebResponse)request.GetResponse();
  36. return XElement.Parse(response.GetResponseStream().ReadString());
  37. }
  38. }
  39. }