如何在client.userInfo tumblr javascript函数中传递回调url?

时间:2013-10-30 03:27:53

标签: javascript api tumblr

我是tumblr api的新手,并尝试使用javascript函数加载与用户相关的所有博客。为此,我使用了来自https://github.com/tumblr/tumblr.js的tumblr.js。

我使用下面的代码来实现它。

    var tumblr = require('tumblr.js');
    var client = tumblr.createClient({
        consumer_key: 'jonJZTo19butVDvE191XA3ldsWwKkawkIzSrOqxuCo0B8RdE9k',
        consumer_secret: 'rwpF8oZ17JuNr9GpkKKDbSmsb547rKPLxm1eEujgun7hzjyWSz',
        token: 'XUeiaJNW6aD0Ynl0lSHZYofVW7ooFZLj7NmlSGmiClbVC5VPk8',
        token_secret: 'rPs6Upq7R46D8Ei7s8s8tEVT1Qc6ETMUaPzcsp5KUi2tDtHtDN'
    });
    client.userInfo("http://localhost/Default.aspx");

但它总是抛出错误“无法加载资源:服务器响应状态为404(未找到)”。

如果我使用client.userInfo();然后我得到“GET / v2 / user / info?404(Not Found)”错误。

请帮我解决这个问题。

由于 的Pankaj

1 个答案:

答案 0 :(得分:0)

从github(https://github.com/tumblr/tumblr.js)上的tumblr自述文件中,您可以看到以下代码

// Show user's blog names
client.userInfo(function (err, data) {
    data.blogs.forEach(function (blog) {
        console.log(blog.name);
    });
});

请注意client.userInfo函数的参数是另一个函数,而不是带有url的字符串。您作为参数传递的函数是您的回调函数,即在请求完成后将执行的函数。在您调用的示例中,还会看到该函数接收2个参数errdata。您应该在回调函数中进行调用并执行某些操作,而不是使用回调网址,例如在控制台中显示用户博客的名称,如示例所示。 data参数将包含

等信息
"user": {
   "following": 263,
   "default_post_format": "html",
   "name": "derekg",
   "likes": 606,
   "blogs": [
      {
       "name": "derekg",
       "title": "Derek Gottfrid",
       "url": "http://derekg.org/",
       "tweet": "auto",
       "primary": true,
       "followers": 33004929,
      },
      {
       "name": "ihatehipstrz",
       "title": "I Hate Hipstrz",
       ...
      }
    ]
 }

记录于http://www.tumblr.com/docs/en/api/v2#user-methods