2011-04-13 9 views
7

Estoy buscando un contenedor .NET (C#) para la API REST de 37signals Highrise. Lamentablemente, no pude encontrar nada realmente adecuado. ¿Alguien ha desarrollado algo como esto o enlaces para compartir? Gracias, twomm37signals Highrise .NET (C#) API

+4

La API de Highrise se implementa como respuestas XML. Debería ser lo suficientemente simple para crear algunas clases C# contra ese XML con XSD.EXE. –

+0

sí, lo sé. Me preguntaba si ya había algo utilizable "fuera de la caja". ¡Gracias de cualquier manera! – twomm

+0

xsd.exe hará las cosas demasiado complicadas en este caso, simplemente cree un tipo de POCO. –

Respuesta

3

Uso RestSharp - http://restsharp.org/

+0

acepté esta como correcta, ya que creo que es bastante agradable y fácil de usar – twomm

1

Solo para aclarar, si bien es posible encontrar algunas bibliotecas de derivadores API REST-Highrise específica por ahí, es probable que tenga un tiempo igual de fácil uso de un propósito general Envoltorio de API REST (como RestSharp se indicó anteriormente).

Propongo otro proyecto, que actualmente estoy usando para acceder a Highrise a través de la API REST.

La biblioteca se llama hamaca, y se encuentra aquí en github: https://github.com/danielcrenna/hammock

+0

Gracias por el enlace – twomm

1

Creo que deberías probar esto:

http://sdk.welovehighrise.com/

Funciona perfectamente en nuestras aplicaciones

+0

Gracias por el enlace. No lo necesito, sin embargo, podría intentarlo, si mi Highrise necesita aumentar. – twomm

+0

¡Guau! $ 200 parece un poco caro. –

4

Como algunos han sugerido, RestSharp es bastante fácil de usar con el HighRise API. Al menos una persona sugirió usar xsd.exe, que recomiendo encarecidamente: esto complicará demasiado las cosas. En su lugar, cree un tipo POCO con solo los elementos que desea obtener/configurar. De esta manera:

namespace Highrise.Model 
{ 
    public class Person 
    { 
     [XmlElement("author-id")] 
     public string AuthorId 
     { 
      get; 
      set; 
     } 


     [XmlElement("background")] 
     public string Background 
     { 
      get; 
      set; 
     } 

     [XmlElement("first-name")] 
     public string FirstName 
     { 
      get; 
      set; 
     } 

     [XmlElement("last-name")] 
     public string LastName 
     { 
      get; 
      set; 
     } 

     [XmlElement("id")] 
     public string Id 
     { 
      get; 
      set; 
     } 

    } 

    public class People : List<Person>{} 
} 

A continuación, sólo hacer una consigue utilizando la biblioteca RestSharp así:

// Setup our client: 
var client = new RestClient("https://yourhighrisename.highrisehq.com"); 
client.Authenticator = new HttpBasicAuthenticator("YOUR_API_KEY_HERE", "X"); 

// Create our request: 
var request = new RestRequest("/people.xml", Method.GET); 

// Execute our request with our client: 
RestResponse<People> response = (RestResponse<People>) client.Execute<People>(request); 
+0

muy agradable, ¿tienes una muestra de hacer una publicación de esta manera por casualidad? – Slee

+0

No, pero es posible que desee consultar esta pregunta y obtener sugerencias: http://stackoverflow.com/questions/11400879/how-to-post-request-using-restsharp –

+1

¡Lo tengo, gracias! Tenga una bonita envoltura escrita :) – Slee

2

Sé que estoy resucitar una vieja pregunta, pero en el caso de que esto ayude a alguien que llegue aquí de Google (encontré este hilo cuando busco lo mismo), he creado un nuevo Github repository para un contenedor de API .NET Highrise.