首页 文章

使用 tumblr.js api 将多个图像发布到 tumblr

提问于
浏览
1

我正在尝试创建一个可以使用 tumblr.js api 向 tumblr 发送帖子的应用。我可以使用 createPhotoPost 方法发送单个图像,但我必须通过此方法在一个帖子中发送多个图像。

从文档中可以看出 createPhotoPost 方法有一个“data”参数,该参数可以是一个带有“URL-encoded 二进制内容”的数组

当我尝试在数据数组中发送内容时,它返回“[1]”。

有人可以帮助解决这个问题,请解释我们应该在数组中传递什么(真的我没有得到什么是 URL-encoded 二进制内容)?

提前致谢

1 回答

  • 1

    tumblr.js https://tumblr.github.io/tumblr.js/tumblr.js.html#line504中有错误

    https://www.tumblr.com/docs/en/api/v2#发布的文档是正确的。

    基本上问题是它不应该是
    data = [ one , two ]
    它的字面意思
    params['data[0]'] = one ; params['data[1]'] = two;(?PHP 公约)

    var request = require('request')// already a tumblr.js dependency
    
    var currentRequest = request({
                  url:'https://api.tumblr.com/v2/blog/someblog.tumblr.com/post',
                         oauth:keys,
                      },function(err,response,body){
                          currentRequest//
                          debugger
    
                        cb()
                      })
    
                      var params = {
                        'type'   :'photo',
                        'caption':'Click To Verify You Are A Robot',
                      }
    
                      var params_images = [
                        fs.createReadStream('image'),
                        fs.createReadStream('image')
                      ]
    
                        // Sign it with the non-data parameters
                        currentRequest.form(params)
                        currentRequest.oauth(keys);
    
                        // Clear the side effects from form(param)
                        delete currentRequest.headers['content-type'];
                        delete currentRequest.body;
    
                        // And then add the full body
                        var form = currentRequest.form();
    
                        //@@@add params_images to params keys 'data[0]' 'data[1]' 'data[2]' ....
    
                        params_images.forEach(function(image,index){
                          params['data['+index+']']
                        })
    
                        for (var key in params) {
                            form.append(key, params[key]);
                        }
    
                        // Add the form header back
                        var form_headers = form.getHeaders()
                          for(var key in form_headers){
                          currentRequest[key] = form_headers[key]
                        }
    

相关问题