2015-02-20 2 views
1

Я пытаюсь запустить правило в Outlook, которое запускает VBScript, который вызывает веб-сервис Slack.com и обновляет один из моих Slack Channels с определенным сообщением. Текущее состояние - я просто хочу, чтобы он опубликовал статическое сообщение. Будущее состояние, я собираюсь попытаться использовать RegEx, чтобы разобрать определенные данные из электронной почты и отправить его на мой слабый канал.Позвоните в Slack API через VBScript Rule в Outlook

От frankensteining несколько сценариев я нашел в Интернете, это то, что я есть (но не совсем работа) Надеясь кто-то может помочь ...

Function ProcessSend() 
    Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP.4.0") 
    Set oXMLDoc = CreateObject("MSXML2.DOMDocument") 

    strEnvelope = "payload={""channel"": ""#edt-error"", ""text"": ""This is posted to #edt-error.""}" 

    Call oXMLHTTP.Open("POST", "https://custom-slack-url-for-service-goes-here.com" & posFirm, False) 
    Call oXMLHTTP.setRequestHeader("Content-Type", "application/x-www-form-urlencoded") 
    Call oXMLHTTP.Send(strEnvelope) 

    Dim szResponse: szResponse = oXMLHTTP.responseText 
    Call oXMLDoc.LoadXML(szResponse) 

    If (oXMLDoc.parseError.ErrorCode <> 0) Then 
     'call msgbox("ERROR") 
     response = oXMLHTTP.responseText&" "&oXMLDoc.parseError.reason 
     'call msgbox(oXMLDoc.parseError.reason) 
    Else 
     response = oXMLDoc.getElementsByTagName("string")(0).ChildNodes(0).Text 
    End If 
End Sub 
+0

Также, если вы не знакомы с Slack, здесь приведен пример запроса на скручивание 'curl -X POST --data-urlencode 'payload = {" channel ":" # edt-error "," username ":" webhookbot "," text ":" Это отправлено на # edt-error и происходит от бота с именем webhookbot. "," icon_emoji ":": ghost: "} ' https://hooks.slack.com/services/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 ' – Birkley

ответ

2

Так я решил это сам, но хотел отправить более подробно.

Запрос: Я хочу позвонить в Slack и обновить один из моих каналов с помощью специального сообщения. Когда я получаю электронное письмо и запускается правило Outlook (сообщение от X и отправляется на Y).

Решение: Во-первых, вам нужно, чтобы перейти к selfcert.exe в папках Microsoft Office на диске C, создать новый самозаверяющий сертификат, а затем добавить этот сертификат доверенных издателей в Outlook. ПОСЛЕ того, что это сделано, я открыл Visual Basic из Outlook, нажав Alt + F11 и создав следующий сценарий в проекте «ThisOutlookSession».

Sub ProcessSend(Item As Outlook.MailItem) 
    Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP.6.0") 
    Set oXMLDoc = CreateObject("MSXML2.DOMDocument") 

    strEnvelope = "payload={""channel"": ""#edt-error"", ""text"": ""This is posted to #edt-error.""}" 

    Call oXMLHTTP.Open("POST", "https://INSERT-YOUR-SERVICE-URL-HERE" & posFirm, False) 
    Call oXMLHTTP.setRequestHeader("Content-Type", "application/x-www-form-urlencoded") 
    Call oXMLHTTP.Send(strEnvelope) 

    Dim szResponse: szResponse = oXMLHTTP.responseText 
    Call oXMLDoc.LoadXML(szResponse) 
End Sub 

Наконец-то я создал правило, которое искало соответствующие параметры, а затем сформировало действие «Запустить этот скрипт». Когда вы нажмете на имя «script» в правиле, откроется окно, и вы сможете выбрать уже созданный скрипт.

Надеюсь, это полезно кому-то!

Смежные вопросы