1 (изменено: Strongest, 2015-10-11 19:50:44)

Тема: AHK: Pushbullet API и AHK

Очень нужна помощь с интеграцией API в AHK код.
Сам я в этом совершенно не чего не понимаю, могу писать только на ahk. Есть программа, написанная на ahk, офисная программа для работы с клиентами, в нее нужно добавить функцию отправки смс. Я полазил и нашёл очень хороший вариант, который можно реализовать в этом скрипте, но у самого не хватает совсем знаний в этой области. Нашёл программу   для отправки и получения Push уведомлений с телефона и на телефон, в том числе и смс Pushbullet, у нее предусмотрено интеграция API и даже готовый код есть, проблема вся в том, что я не знаю, как засунуть его в ahk. Нашел даже пример отправки из ahk скрипта пуш уведомления на телефон.
Вот код, который работает и отправляет уведомления на телефон.

PB_Token   := "FbEwWPB0A2mSpAAHHwA1FFiCB6bCLXNU"
PB_Title   := "Test Push (Note)"
PB_Message := "Test Message Pushbullet meets AutoHotkey"
 
MsgBox % PB_PushNote(PB_Token, PB_Title, PB_Message)
 
PB_PushNote(PB_Token, PB_Title, PB_Message)
{
    WinHTTP := ComObjCreate("WinHTTP.WinHttpRequest.5.1")
    WinHTTP.SetProxy(0)
    WinHTTP.Open("POST", "https://api.pushbullet.com/v2/pushes", 0)
    WinHTTP.SetCredentials(PB_Token, "", 0)
    WinHTTP.SetRequestHeader("Content-Type", "application/json")
    PB_Body := "{""type"": ""note"", ""title"": """ PB_Title """, ""body"": """ PB_Message """}"
    WinHTTP.Send(PB_Body)
    Result := WinHTTP.ResponseText
    Status := WinHTTP.Status
    return Status
}

А вот код, который отправляет sms его и нужно адаптировать, и вставить в ahk скрипт.

{
  "push": {
    "conversation_iden": "+1 303 555 1212",
    "message": "Hello!",
    "package_name": "com.pushbullet.android",
    "source_user_iden": "ujpah72o0",
    "target_device_iden": "ujpah72o0sjAoRtnM0jc",
    "type": "messaging_extension_reply"
  },
  "type": "push"
}

Буду бесконечно благодарен за помощь.

Ссылка где я нашел код для ahk http://ahkscript.org/boards/viewtopic.php?t=4842
Ссылка на описание API функция для Pushbullet https://docs.pushbullet.com/#send-sms

2

Re: AHK: Pushbullet API и AHK

Strongest, ознакомьтесь с этой темой, отредактируйте заголовок.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3 (изменено: Strongest, 2015-10-11 21:06:47)

Re: AHK: Pushbullet API и AHK

Исправил, давно не заходил на форум, забыл правила, извините.

4

Re: AHK: Pushbullet API и AHK

Цитировать предыдущий пост не нужно. По сабжу — не проще ли задать вопрос в том же топике?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5 (изменено: Flasher, 2015-10-11 22:16:23)

Re: AHK: Pushbullet API и AHK

Или, может, стоит на основе программы с комстрокой?

6

Re: AHK: Pushbullet API и AHK

В java я тоже не чего не понимаю, да и мне нужна в первую очередь надежность, а отправка через сайт вообще доверия не вызывает, да и проверить не как нельзя, а тут можно в случаи необходимости и отчет о доставки посмотреть на телефоне.

7 (изменено: Flasher, 2015-10-11 23:11:41)

Re: AHK: Pushbullet API и AHK

Скрипты там все и так архивом прилагаются, логи пишутся, разбивка есть, код возврата 200 - успех.
Доверие - дело, конечно, тонкое, но не думаю, что если сообщение проходит через данный API, могут быть проблемы у официалов.
Кстати у pushbullet написано, что в curl уже вложен их функционал.

8

Re: AHK: Pushbullet API и AHK

Может кому нибудь когда нибудь пригодится... Работает без глюков.


PB_PushNote( PB_Token, PB_Message, PB_Number, PB_SourceUserID, PB_TargetDivaceID )
{
    WinHTTP := ComObjCreate("WinHTTP.WinHttpRequest.5.1")
    WinHTTP.SetProxy(0)
    WinHTTP.Open("POST", "https://api.pushbullet.com/v2/ephemerals", 0)
    WinHTTP.SetCredentials(PB_Token, "", 0)
    WinHTTP.SetRequestHeader("Content-Type", "application/json")
    PB_Body := "{""push"": {""conversation_iden"": """ PB_Number """, ""message"": """ PB_Message """, ""package_name"": ""com.pushbullet.android"", ""source_user_iden"": """ PB_SourceUserID """, ""target_device_iden"": """ PB_TargetDivaceID """, ""type"": ""messaging_extension_reply""}, ""type"": ""push""}"
    WinHTTP.Send(PB_Body)
    Result := WinHTTP.ResponseText
    Status := WinHTTP.Status
    Return Status
}