Twitter API - 上传图片

12

我试图通过Twitter API上传一张图片,按照说明,我创建了一个表单,其中包含name="status"name="media[]" -

<form id="image-form">
    <input type="text" name="status">
    <input name="media[]" type="file" />
    <input type="submit" value="POST IMAGE">
</form>

此外,我还有一个submit处理程序 -

   $('#image-form').submit( function(e) {
                e.preventDefault();
                var formData = new FormData(this); // <-- 'this' is your form element


        $.ajax({
                    url:'https://api.twitter.com/1.1/statuses/update_with_media.json',
                    type: 'POST',
                    contentType: false,
                    pagerocessData: false,
                    processData: false,
                    data: formData,
                    success: function(data) {
                        alert('Image upload succeeded');
                    },
                    error: function (responseData, textStatus, errorThrown) {
                        alert('GET failed.');
                    }
                });
            });

在Chrome的网络中,我看到了这个请求,它的Content-Typemultipart/form-data

最终我得到了"响应200",但它没有将图片上传到Twitter账户,

我做错了什么?


1
POST媒体/上传确保您的POST是一个multipart/form-data请求。你做到了吗?(我没有使用过twitter的api,但似乎可能是这样) - Eric Martinez
1
已检查并发现 - Content-Type:multipart/form-data - URL87
1
为什么不使用当前的API钩子,而是使用已弃用的钩子?此端点已被弃用。请使用POST statuses/update来上传一个或多个媒体实体。 - ChrJantz
1个回答

8

我无法将此作为评论发布,所以冒着生命危险写成答案:P。

我尝试了探索Twitter API(在Firefox上运行,在Chrome上加载时失败)。

设置测试的步骤:

  • 服务:选择https://api.twitter.com/1.1,它会显示一些选项。在端点列表中选择您正在使用的那个。
  • 身份验证:OAuth(如果您担心使用自己的帐户,请尝试使用虚假帐户测试。我已创建一个虚假帐户来测试此功能。我尝试了No authBasic Auth,但都不起作用)
  • 请求URL:POST,URL会自动设置。
  • 查询标签页status - 推文消息。
  • 正文标签页:向下滚动并查找media,选择图像。

最后按发送

我可以注意到的是,如果我不指定图像或文字,则会失败(显然)。如果我设置了一张图像而没有状态,则会上传该图像,如果我同时指定了两者,则会上传带有文本的图像。

请注意,状态附加在URL后面。

所以有几个问题:

  • 您设置了OAuth吗?
  • 您是否设置了至少一个必需字段(状态或媒体)?您是否通过URL传递状态?
  • 当您说它可以工作,但不会上传图像时,您是否在Twitter帐户中看到状态?

这是我制作的虚假帐户的结果。

我希望至少能给您提供一些提示。


如果我想通过图像URL发送图像-媒体-怎么办? - Ozan
你有这个的JavaScript示例吗? - Elshan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接