Доступ к 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 требуется "Токен доступа".

Другие вопросы по тегам