Доступ к Pushbullet API для удаления толчков с помощью R
Я использую RPushbullet
пакет для отправки push-уведомлений на несколько устройств (смартфонов) от R. Это прекрасно работает.
Сейчас: перед каждым новым push-сообщением я хочу удалить предыдущее push-сообщение. Я хочу сделать это, используя API Pushsbullet. Соответствующую документацию Pushbullet можно найти здесь (в навигационной панели слева перейдите к "Push" -> "delete-push"), но позвольте мне также опубликовать ее ниже:
Я пытался реализовать это с любым из httr
, RCurl
а также Curl
пакеты для R но мне не удалось. Например, я пробовал различные изменения следующих кодов:
library(httr)
r <- GET("https://api.pushbullet.com/v2/pushes/{device_ID}",
add_headers('Access-Token: x.X1XxXxXx1xxxX1xxxxxxXX1XxXXxXx1x'))
или же
library(RCurl)
library(RJSONIO)
postForm("https://api.pushbullet.com/v2/pushes/{device_ID}",
.opts = list(httpheader = c(Authorization = 'x.X1XxXxXx1xxxX1xxxxxxXX1XxXXxXx1x', Accept = 'application/json')))
но я всегда получаю ответ, говорящий что-то вроде "Токен доступа отсутствует или недействителен", например:
Response [https://api.pushbullet.com/v2/pushes/{device_ID}]
Date: 2017-01-30 09:44
Status: 401
Content-Type: application/json; charset=utf-8
Size: 176 B
Код статуса 401
означает "Несанкционированный", т.е. я не могу передать токен доступа в форму.
Любая помощь о том, как получить доступ к этому Pushbullet API в R, будет принята с благодарностью.
РЕДАКТИРОВАТЬ:
ОС: Windows 10 Home, 64-битная
Команда Curl:curl --header 'Access-Token: x.X1XxXxXx1xxxX1xxxxxxXX1XxXXxXx1x' https://api.pushbullet.com/v2/users/me
Скручиваемость вывода:curl: (6) Could not resolve host: x.X1XxXxXx1xxxX1xxxxxxXX1XxXXxXx1x'
{"error":{"code":"invalid_access_token","type":"invalid_request","message":"Access token is missing or invalid.","cat":"(=^´¢Ñ¤ë´¢Ñ^)y´╝Ø"},"error_code":"invalid_access_token"}
2 ответа
Поскольку вы работаете в Windows, обязательно используйте двойные вместо одинарных кавычек ("..."
вместо '...'
). Также в вашем примере вы отправляете {device_ID}
но, глядя на API, вы, вероятно, должны указать push_ID
что вы хотите удалить.
Вы используете "Авторизацию" в своем коде, но для API требуется "Токен доступа".