2016-05-26 21 views
0

我需要使用Twilio和Microsoft Access通过短信发送图像。未收到图像,通过使用VBA,Twilio和Microsoft ACCMS发送邮件

我能够通过Microsoft Access成功发送短信。但是,图像未发送。我找到了一个名为“mediaURL”的参数。我试图让mediaURL引用我的电脑上的图像(“d:\ imagefolder”)。

有没有人能够做到这一点。这是我的代码发送短信。

Dim MessageUrl As String 
    Dim FromURLEncode As String 
    Dim ToURLEncode As String 
    Dim imageURL As String 

    On Error GoTo Error_Handler 

    ' setup the URL 
    MessageUrl = BASEURL & "/2010-04-01/Accounts/" & ACCOUNTSID & "/Messages" 
    imageURL = "d:\imagefolder\mypicture.png" 

    ' setup the request and authorization 
    Dim http As MSXML2.XMLHTTP60 
    Set http = New MSXML2.XMLHTTP60 

    http.Open "POST", MessageUrl, False, ACCOUNTSID, AUTHTOKEN 
    http.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" 

    Dim postData As String 
    postData = "From=" & fromNumber _ 
       & "&To=" & toNumber _ 
       & "&Body=" & body _ 
       & "&MediaURL=" & imageURL 

    Debug.Print postData 

    ' send the POST data 
    http.send postData 

    ' optionally write out the response if you need to check if it worked 
    Debug.Print http.responseText 

    If http.Status = 201 Then 

    ElseIf http.Status = 400 Then 
     MsgBox "Failed with error# " & _ 
      http.Status & _ 
      " " & http.statusText & vbCrLf & vbCrLf & _ 
      http.responseText 
    ElseIf http.Status = 401 Then 
     MsgBox "Failed with error# " & http.Status & _ 
      " " & http.statusText & vbCrLf & vbCrLf 
    Else 
     MsgBox "Failed with error# " & http.Status & _ 
      " " & http.statusText 
    End If 

Exit_Procedure: 

    On Error Resume Next 

    ' clean up 
    Set http = Nothing 

Exit Function 

Error_Handler: 

    Select Case Err.Number 

     Case NOINTERNETAVAILABLE 
      MsgBox "Connection to the internet cannot be made or " & _ 
       "Twilio website address is wrong" 

     Case Else 
      MsgBox "Error: " & Err.Number & "; Description: " & Err.Description 

      Resume Exit_Procedure 

     Resume 

    End Select 
+0

我不知道twilio,但我猜猜看你的代码:也许你不能使用他们的MediaURL参数发送本地图像,因为它只接受一个在线图像('htttp://anything.com/ anyimage.jpg')。也许你可以用在线图片进行测试,看看是否有效。 –

回答

1

Twilio开发者传道这里。

正如Thomas G在评论中回答的,您的问题在于该图像在您的计算机上。该URL需要Twilio可用。

您需要将图像上传到服务器,无论是自己的还是公共服务,然后使用该服务器。

结账the documentation on sending MMS with Twilio for more details

+0

我尝试使用OneDrive并获取链接,但无法正常工作。我试过DropBox并从中获得了URL。我正在阅读文档。不过,目前我还没有足够的了解mediaURL的postdata语法。我在Twilio的视线上发现了一个测试,发送短信和图像,并且我收到了短信和图像。它必须与语法和mediaURL参数有关。 – GTucker

+0

我已经花了几天时间阅读文档。从所有帐户,我的代码是现货。我在DropBox中使用公用文件夹。我检查了我的Twilio帐户可编程短信日志。所有短信都显示为已发送。但是,只有短信正在被接收。图像从未收到。 – GTucker

+0

我已经能够在发送消息后检索SID。它以SM *而不是MM *开头。这证实了该消息不会作为彩信出现,这就是为什么我没有收到该图像。 – GTucker

2

我终于可以通过使用MediaUrl发送带有图像的文本消息。我的代码使用MediaURL。它必须完全是“MediaUrl”。有一次,我明白了,我已经能够发送带有图像的短信。

相关问题