Amazon web services AWS SNS在laravel-4上的实现
我正在我的项目中实现AWS SNS,我正在尝试使用AWS SNS服务向Android和iOS设备发送推送通知,但我没有得到一步一步实现的适当文档 我的代码如下Amazon web services AWS SNS在laravel-4上的实现,amazon-web-services,amazon-sns,Amazon Web Services,Amazon Sns,我正在我的项目中实现AWS SNS,我正在尝试使用AWS SNS服务向Android和iOS设备发送推送通知,但我没有得到一步一步实现的适当文档 我的代码如下 $aws = Aws::factory(array( 'profile' => 'my_profile', 'region' => 'us-east-1', 'key' => Config::get('app.aws_access_
$aws = Aws::factory(array(
'profile' => 'my_profile',
'region' => 'us-east-1',
'key' => Config::get('app.aws_access_key'),
'secret' =>Config::get('app.aws_secret_access_key')
));
$this->sns = $aws->get('Sns');
$task = $this->sns->publish(
array(
'TargetArn' => 'arn:aws:sns:us-east-1:341707006110:My-topic',
'Message' => 'Hello from PHP',
'Subject' => 'Hello world!'
));
我得到以下错误:
用户:arn:aws:iam::341707006110:用户/我的主题无权执行
我有一个设备令牌,如APA91BGUABXANTXETDPR9XFZE8LENJTB3V,我想在此设备上发送推送通知。我如何将设备令牌传递给发布方法?基本上,这个问题是因为您的主题/目标arn是针对us-west-2的。但默认情况下,您的SNS客户端指向us-east-1。您需要在snsClient上调用setRegion
请在更新区域后重试。您的IAM角色似乎没有SNS权限。尝试添加它们,然后尝试此操作。
在AWS web控制台中转到IAM->Roles->选择您的角色->附加策略->使用关键字sns过滤,并附加适当的策略。您能给出完整的错误堆栈吗?