2017-09-06 12 views
0

Wir arbeiten an Push-Benachrichtigungen für Android und iOS mit AWS Pinpoint Webservice. Wir haben eine Kampagne in der AWS Pinpoint-Konsole erstellt und gestartet. Aber wir wollen Segment, Kampagne usw. von anderen Webservern verwalten, so dass wir nicht wiederholt AWS-Konsole anmelden müssen (Anforderung des Clients).So verwalten Sie die Kampagne von AWS Pinpoint mit dem Code von php AWS-Sdk

Für solche Anforderungen verwende ich AWS PHP SDK, um das Ziel zu erreichen. Ich habe nur einfachen Code

require_once 'aws-sdk/aws-autoloader.php'; 
use Aws\AwsClient; 

$objClient = new Aws\AwsClient([ 
      'version'  => 'XXX', 
      'region'  => 'XXX', 
      'credentials' => [ 
       'key' => 'XXX', 
       'secret' => 'XXX' 
      ] 
     ]); 

geschrieben Aber es gibt folgende Fehlermeldung:

Fatal error: Uncaught exception 'InvalidArgumentException' with message 'The service "" is not provided by the AWS SDK for PHP.' in /opt/lampp/htdocs/researchworks/vipin/pinpoint-demo/aws-sdk/Aws/functions.php:347 Stack trace: #0 /opt/lampp/htdocs/researchworks/vipin/pinpoint-demo/aws-sdk/Aws/AwsClient.php(129): Aws\manifest('') #1 /opt/lampp/htdocs/researchworks/vipin/pinpoint-demo/index.php(13): Aws\AwsClient->__construct(Array) #2 {main} thrown in /opt/lampp/htdocs/researchworks/vipin/pinpoint-demo/aws-sdk/Aws/functions.php on line 347 

Ich habe https://docs.aws.amazon.com/aws-sdk-php/v3/api/class-Aws.Pinpoint.PinpointClient.html für Pinpoint documantation verwendet. Bitte lösen Sie das Problem.

Antwort

2

Nicht sicher, wie Sie einen rohen AWS-Client instanziieren, obwohl ich rate, wenn Sie "Pinpoint" als service Argument bieten, könnte es funktionieren.

Vom documentation provided ein Pinpoint-Client kann instanziiert und

require_once 'aws/aws-autoloader.php'; 

use Aws\Pinpoint\PinpointClient; 

$client = PinpointClient::factory(array(
    'profile'=>'CREDENTIAL_PROFILE', //Or you can provide the raw credentials as you did in your sample 
    'region'=>'us-east-1', 
    'version'=>'2016-12-01' 
)); 
$result = $client->getApps(); 

print $result; 
+0

Vielen Dank für Ihre wertvollen Vorschlag genannt werden. Ja, Sie haben Recht, ich habe meinen Fehler korrigiert und verwende 'Aws \ Pinpoint;' so dass ich in der Lage bin, das Objekt mit $ objPinpoint = new Aws \ Pinpoint \ PinpointClient ([ \t \t \t \t 'Version' => 'XXX', \t \t \t \t 'region' => 'XXX' , instanziiert \t \t \t \t 'Credentials' => [ \t \t \t \t \t 'Schlüssel' => 'XXX', \t \t \t \t \t 'Geheimnis' => 'XXX' \t \t \t \t] \t \t \t]); –

+0

Aber jetzt stehe ich vor einem neuen Problem. Nach dem Instanziieren des Objekts versuche ich, die in der Dokumentation bereitgestellte Funktion aufzurufen, aber es gibt den folgenden Fehler: Schwerwiegender Fehler: Nicht abgefangene Ausnahme 'Aws \ Pinpoint \ Exception \ PinpointException' mit Nachricht 'Fehler beim Ausführen von' GetApps 'auf "https: //pinpoint.us- oast-1.amazonaws.com/v1/apps "; AWS-HTTP-Fehler: cURL-Fehler 35: Unbekannter SSL-Protokollfehler in Verbindung mit "pinpoint.us-east-1.amazonaws.com:443" (siehe http://curl.haxx.se/libcurl/c/libcurl-errors.html) 'Ausnahme' GuzzleHttp \ Exception \ ConnectException 'mit Nachricht –

+0

' cURL Fehler 35: Unbekannter SSL-Protokollfehler in Verbindung mit pinpoint.us-east-1.amazonaws.com:443 (siehe http://curl.haxx.se/libcurl /c/libcurl-errors.html) in /opt/lampp/htdocs/researchworks/vipin/aws-sdk-new/GuzzleHttp/Handler/CurlFactory.php:186 Stack-Trace: # 0/opt/lampp/htdocs/researchworks /vipin/aws-sdk-new/GuzzleHttp/Handler/CurlFactory.php(150): GuzzleHttp \ Handler \ CurlFactory :: createRejection (Objekt (GuzzleHttp \ Handler \ EasyHandle), Array) # 1/opt/lampp/htdocs/researchworks /vipin/aws-sdk-new/GuzzleHttp/Handler/CurlFactory.php(103): –

Verwandte Themen