PHP ActiveX
PHP ActiveX
SNS Subscribe Email Address
See more Amazon SNS Examples
Subscribe an email address to an SNS topic.See SNS Subscribe for more information.
Chilkat PHP ActiveX Downloads
<?php
$success = 0;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
$rest = new COM("Chilkat.Rest");
// Connect to the Amazon AWS REST server.
// such as https://sns.us-west-2.amazonaws.com/
$bTls = 1;
$port = 443;
$bAutoReconnect = 1;
$success = $rest->Connect('sns.us-west-2.amazonaws.com',$port,$bTls,$bAutoReconnect);
// Provide AWS credentials for the REST call.
$authAws = new COM("Chilkat.AuthAws");
$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';
$rest->SetAuthAws($authAws);
$rest->AddQueryParam('Action','Subscribe');
$rest->AddQueryParam('Endpoint','somebody@some-email-address.com');
$rest->AddQueryParam('Protocol','email');
$rest->AddQueryParam('TopicArn','arn:aws:sns:us-west-2:957491831129:chilkat');
$responseXml = $rest->fullRequestNoBody('GET','/');
if ($rest->LastMethodSuccess != 1) {
print $rest->LastErrorText . "\n";
exit;
}
// A successful response will have a status code equal to 200.
if ($rest->ResponseStatusCode != 200) {
print 'response status code = ' . $rest->ResponseStatusCode . "\n";
print 'response status text = ' . $rest->ResponseStatusText . "\n";
print 'response header: ' . $rest->ResponseHeader . "\n";
print 'response body: ' . $responseXml . "\n";
exit;
}
// Examine the successful XML response.
$xml = new COM("Chilkat.Xml");
$xml->LoadXml($responseXml);
print $xml->getXml() . "\n";
// To get the SubscriptionArn (which in this case is "pending confirmation")
print 'SubscriptionArn: ' . $xml->chilkatPath('SubscribeResult|SubscriptionArn|*') . "\n";
// 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>
?>