developers json api get tumblr

json - tumblr developers



¿Cómo extraer datos de la API de Tumblr(JSON)? (3)

Configuré una cuenta de Tumblr y registré mi aplicación para autenticarla.

Documentación de Tumblr: http://www.tumblr.com/docs/en/api/v2

Entiendo que la API genera JSON de la siguiente manera:

{ "meta": { "status": 200, "msg": "OK" }, "response": { "blog": { "title": "David''s Log", "posts": 3456, "name": "david", "url": "http:////david.tumblr.com//", "updated": 1308953007, "description": "<p><strong>Mr. Karp<//strong> is tall and skinny, with unflinching blue eyes a mop of brown hair./r/n "ask": true, "ask_anon": false, "likes": 12345 } } }

Eso está bien, pero la documentación termina ahí. No tengo idea de cómo obtener esta información y mostrarla en mi sitio.

Pensé que la forma en que lo obtendrías sería algo así como:

$.ajax({ url: "http://api.tumblr.com/v2/blog/myblog.tumblr.com/info?api-key=myapikey", dataType: ''jsonp'', success: function(results){ console.log(results); } });

Pero esto no hace nada.

¿Puede alguien ayudarme? Gracias


En el código de la pregunta, el tipo de solicitud no se estaba configurando y tumblr lo estaba rechazando. La respuesta de error de jsonp fue la impresión. El código siguiente hace correctamente la solicitud jsonp.

La clave era especificar el tipo y el tipo de datos. Buena Suerte feliz piratería. ;-)

$.ajax({ type:''GET'', url: "http://api.tumblr.com/v2/blog/jdavidnet.tumblr.com/info", dataType:''jsonp'', data: { api_key : "myapikey" }, success:function(response){ console.log(response, arguments); } });


Una forma de escribir un objeto en la pantalla es agregar un elemento que contenga su representación JSON a la página:

$.ajax({ url: "http://api.tumblr.com/v2/blog/myblog.tumblr.com/info?api-key=myapikey", dataType: ''jsonp'', success: function(results){ $("body").append( $("<pre/>").text(JSON.stringify(results, null, " ")) ); } });

Aquí hay una demostración: http://jsfiddle.net/MZR2Z/1/


results es ahora el objeto que puede usar para hacer referencia a la estructura JSON. Cuando console.log el objeto de resultados, debe aparecer en la consola del desarrollador de Javascript donde puede explorar el árbol de objetos.

El objeto de respuesta

Entonces, cuando su devolución de llamada exitosa reciba la respuesta, la siguiente debe estar disponible para usted:

results.meta.status => 200

results.meta.msg => "OK"

results.response.title => "David''s Log"

results.response.posts => 3456

results.response.name => "david"

results.response.url => " http://david.tumblr.com/ "

results.response.updated => 1308953007

results.response.description => " <p><strong>Mr. Karp</strong>.. "

results.response.ask => true

results.response.ask_anon => false

results.response.likes => 12345

Escribiendo a la página

Si realmente desea ver algo escrito en su página, necesitará usar una función que modifique el DOM como document.write o, dado que está usando Jquery, $ ("# myDivId"). Html (results. response.title);

Prueba esto:

  • Agregue <div id="myDivId"></div> en algún lugar de la página, y
  • Agregue $("#myDivId").html(results.response.title); en su exitosa función de devolución de llamada

$.ajax({ url: "http://api.tumblr.com/v2/blog/myblog.tumblr.com/info?api_key=myapikey", dataType: ''jsonp'', success: function(results){ // Logs to your javascript console. console.log(results); // writes the title to a div with the Id "myDivId" (ie. <div id="myDivId"></div>) $("#myDivId").html(results.response.title); } });