pushbullet - param' file_url'具有无效值

时间:2015-12-04 10:32:02

标签: linux push-notification

我尝试使用curl将图像发送到设备。 这是代码:

#!/bin/bash
curl --header 'Access-Token: d78sdf8bd8bv6d98bd7d6df6b' \
     --header 'Content-Type: application/json' \
     --data-binary '{"type":"file","title":"Test IMG SEND","body":"Sending Dragon from Debian 8","file_name":"dr1.jpg","file_type":"image/jpeg","file_url":"https://dl2.pushbulletusercontent.com/HJGFC56597ggiyui78698GYGUFI7865/dr1.jpg"}' \
     --request POST \
     https://api.pushbullet.com/v2/pushes

这就是我从上一次上传中获得的内容:

{"data":{"acl":"public-read","awsaccesskeyid":"JSUH(=Y£GhHUIOG898787","content-type":"image/jpeg","key":"HJGFC56597ggiyui78698GYGUFI7865/dr1.jpg","policy":"ecvjksdblvuio3ghuv393783230cgfgsaidfg3","signature":"hjveirvhj34veupiv34'vvg3vg78"},"file_name":"dr1.jpg","file_type":"image/jpeg","file_url":"https://dl2.pushbulletusercontent.com/HJGFC56597ggiyui78698GYGUFI7865/dr1.jpg","upload_url":"https://upload.pushbullet.com/upload-legacy/yVayDlcd

对我来说,似乎没问题,但显然有些不对劲。有谁能指出我的解决方案?

编辑: 对不起,问题是pushbullet的答案是" param' file_url'有一个无效的值"并且我无法理解问题出在哪里,因为我刚刚从upload-request中复制了上一个回答中的file_url,该回复应该是 - > file_url":" https://dl2.pushbulletusercontent.com/HJGFC56597ggiyui78698GYGUFI7865/dr1.jpg ...

1 个答案:

答案 0 :(得分:1)

对于POST https://api.pushbullet.com/v2/upload-request请求的实际无效,此错误并不明确。它应该说的是,“您指定的文件URL指向一个尚不存在的文件”。换句话说,您需要先确保文件实际上传,然后才能链接到该文件。

他们的文档并不好。我遇到了同样的问题,最后偶然发现了答案。这实际上是一个由三部分组成的过程:

1)data - 这并不是很明显,但是请求访问将文件上传到Push Bullet的AWS S3 Bucket。使用响应中的POST https://upload.pushbullet.com/upload-legacy/yVayDlcd进行下一步。

2)upload_url - (这应该是来自步骤1的data的值)upload_url对象中的所有内容都应与文件一起发布到POST https://api.pushbullet.com/v2/pushes在回应中。预期的响应应为204,没有内容。这意味着它成功了。

3)file_url - 最后,现在该文件存在于Push Bullet的系统中,您可以使用步骤1中的library(tidyverse) library(ggridges) ggplot(t2, aes(x = t, y = year)) + stat_density_ridges(geom = "density_ridges_gradient", quantile_lines = TRUE, quantiles = 2) + theme_ridges() 值进行推送。

希望这种解释能够为他们的文档增加一些清晰度。