亚马逊网络服务-AWS-PHP-SDK/SNS直接寻址返回错误


amazon web services - AWS-PHP-SDK / SNS direct addressing returns error

嗨,我正在使用Laravel 4设置来利用AWS SNS向我的iOS设备发送推送消息,从AWS控制台向我的设备发布命令运行良好。

然后我尝试了PHP:

    $sns = AWS::get('sns');
    $sns->publish(array(
        'Message' => 'Hello from PHP',
        'TargetArn' => "arn:aws:sns:us-west-2:360542326270:endpoint/APNS_SANDBOX/Testtest/20a75cd1-da25-3331-8126-4db497cbdd5e"
    ));

我得到

Guzzle ' Service ' Exception ' ValidationException Validation errors: [TopicArn] is a required string: The topic you want to publish to.

但文档特别指出,我可以使用publish发送到主题ARN,也可以使用直接寻址直接发送到单个设备。

看来AWS PHP SDK迫使我无论如何都要使用TopicArn。

http://aws.typepad.com/aws/2013/08/push-notifications-to-mobile-devices-using-amazon-sns.html?utm_source=feedburner&utm_medium=馈送&utm_campaign=订阅源%3A+AmazonWebServicesBlog+(Amazon+Web+Services+Blog)

我做错了什么?

我刚刚从composer中删除了明确的guzzle行。然后运行更新,它删除了guzzle3.6并安装了3.9。然后,它删除了AWS-PHP-SDK 2.3.4并安装了开发主

然后我试了一下,结果成功了。

不确定问题出在哪里,但不同的软件包版本无法协同工作。。。