Foros del Web » Programación para mayores de 30 ;) » .NET »

Postear en faceboook desde C#

Estas en el tema de Postear en faceboook desde C# en el foro de .NET en Foros del Web. Hola a todos. Estoy intentando hacer un post en facebook desde C#, el problema es que al escribirlo me regresa un error 400 ( bad ...
  #1 (permalink)  
Antiguo 25/06/2012, 12:09
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 10 meses
Puntos: 46
Pregunta Postear en faceboook desde C#

Hola a todos.


Estoy intentando hacer un post en facebook desde C#, el problema es que al escribirlo me regresa un error 400 ( bad request ).


Código C#:
Ver original
  1. string url = string.Format("https://graph.facebook.com/me/feed?access_token={0}", strAccessTocken);
  2. string resultado = obtendato(
  3.     url,
  4.     "POST",
  5.     "message=Probando+porteo+desde+.NET&link=http://www.google.com&name=Variable+NAME®&caption=Variable+Caption"
  6. );

Código C#:
Ver original
  1. Uri uri = new Uri(url);
  2.             HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(uri);
  3.             if (metodo == "POST")
  4.             {
  5.                 req.Method = "POST";
  6.                 req.ContentType = "application/x-www-form-urlencoded";
  7.                 StreamWriter strWriter = new StreamWriter(req.GetRequestStream());
  8.                 try
  9.                 {
  10.                     strWriter.Write(mensaje);
  11.                 }
  12.                 catch (Exception ex)
  13.                 {
  14.                     throw new Exception("Error de escritura: " + ex.Message);
  15.                 }
  16.                 finally
  17.                 {
  18.                     strWriter.Close();
  19.                     strWriter = null;
  20.                 }
  21.             }
  22.             WebResponse resp = req.GetResponse();//Aqui manda el error
  23.             Stream strstream = resp.GetResponseStream();
  24.             StreamReader strreader = new StreamReader(strstream);
  25.             Object text = strreader.ReadToEnd();
  26.             return text.ToString();

Saludos.

NOTA: el desarrollo no está en un servidor local, ya se encuentra en internet

Última edición por lair; 25/06/2012 a las 12:20
  #2 (permalink)  
Antiguo 25/06/2012, 13:57
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 14 años, 4 meses
Puntos: 267
Respuesta: Postear en faceboook desde C#

Hola lair, antes de enviar tienes que transformalo en bytes :
Código C:
Ver original
  1. byte[] byteArray = Encoding.UTF8.GetBytes(mensaje);
  2. req.ContentLength = byteArray.Length;
  3. Stream dataStream = objRequest.GetRequestStream();
  4. dataStream.Write(byteArray, 0, byteArray.Length);
  5. dataStream.Close();
  6.  
  7. WebResponse resp = req.GetResponse();
  8. dataStream = resp.GetResponseStream();
  9. StreamReader strreader = new StreamReader(dataStream);
  10. return strreader.ReadToEnd();
Pruebas y nos comentas!. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net

Última edición por Aquaventus; 25/06/2012 a las 14:44
  #3 (permalink)  
Antiguo 25/06/2012, 18:08
Avatar de elhombredeblanko  
Fecha de Ingreso: junio-2011
Ubicación: México Lindo y Querido
Mensajes: 212
Antigüedad: 13 años, 4 meses
Puntos: 2
Respuesta: Postear en faceboook desde C#

yo tambien quieor hacer eso amigo..
copie tu codio pero nose de donde sale
"metodo"
en esta parte
Uri uri = new Uri(url);

que va en url ??
__________________
si siempre hay algo nuevo que aprender
  #4 (permalink)  
Antiguo 26/06/2012, 12:38
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 10 meses
Puntos: 46
Respuesta: Postear en faceboook desde C#

Gracias Aquaventus, anteriormente ya habia usado ese mismo procedimiento para realizar un posteo y no convertia en array el mensaje, por lo que pense que los de fb habian hecho algun cambio en el api y mejor use el api de javascript fbjssdk

elhombredeblanko date una vuelta por ahí es mas sencilla de usar.

Saludos.
  #5 (permalink)  
Antiguo 26/06/2012, 13:17
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 14 años, 4 meses
Puntos: 267
Respuesta: Postear en faceboook desde C#

Hola lair, olvide mencionartelo, en el config agregale esto, porque aveces suele dar estos percances cuando queremos hacer request y response.
Código XML:
Ver original
  1. <system.net>
  2.     <settings>
  3.       <servicePointManager expect100Continue="false"/>
  4.     </settings>
  5.   </system.net>
Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net

Etiquetas: net, postear
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:50.