Sample code for 30+ languages & platforms
Visual Basic 6.0

SNS Subscribe Email Address

See more Amazon SNS Examples

Subscribe an email address to an SNS topic.

See SNS Subscribe for more information.

Chilkat Visual Basic 6.0 Downloads

Visual Basic 6.0
Dim success As Long
success = 0

' This example requires the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.

Dim rest As New ChilkatRest

' Connect to the Amazon AWS REST server.
' such as https://sns.us-west-2.amazonaws.com/
Dim bTls As Long
bTls = 1
Dim port As Long
port = 443
Dim bAutoReconnect As Long
bAutoReconnect = 1
success = rest.Connect("sns.us-west-2.amazonaws.com",port,bTls,bAutoReconnect)

' Provide AWS credentials for the REST call.
Dim authAws As New ChilkatAuthAws
authAws.AccessKey = "AWS_ACCESS_KEY"
authAws.SecretKey = "AWS_SECRET_KEY"
' the region should match our URL above..
authAws.Region = "us-west-2"
authAws.ServiceName = "sns"

success = rest.SetAuthAws(authAws)

success = rest.AddQueryParam("Action","Subscribe")
success = rest.AddQueryParam("Endpoint","somebody@some-email-address.com")
success = rest.AddQueryParam("Protocol","email")
success = rest.AddQueryParam("TopicArn","arn:aws:sns:us-west-2:957491831129:chilkat")

Dim responseXml As String
responseXml = rest.FullRequestNoBody("GET","/")
If (rest.LastMethodSuccess <> 1) Then
    Debug.Print rest.LastErrorText
    Exit Sub
End If

' A successful response will have a status code equal to 200.
If (rest.ResponseStatusCode <> 200) Then
    Debug.Print "response status code = " & rest.ResponseStatusCode
    Debug.Print "response status text = " & rest.ResponseStatusText
    Debug.Print "response header: " & rest.ResponseHeader
    Debug.Print "response body: " & responseXml
    Exit Sub
End If

' Examine the successful XML response.
Dim xml As New ChilkatXml
success = xml.LoadXml(responseXml)
Debug.Print xml.GetXml()

' To get the SubscriptionArn (which in this case is "pending confirmation")
Debug.Print "SubscriptionArn: " & xml.ChilkatPath("SubscribeResult|SubscriptionArn|*")

' A sample successful response:
' <?xml version="1.0" encoding="utf-8" ?>
' <SubscribeResponse xmlns="http://sns.amazonaws.com/doc/2010-03-31/">
'     <SubscribeResult>
'         <SubscriptionArn>pending confirmation</SubscriptionArn>
'     </SubscribeResult>
'     <ResponseMetadata>
'         <RequestId>c5490a81-973b-5fa6-93dc-5bed689c212f</RequestId>
'     </ResponseMetadata>
' </SubscribeResponse>