Amazon S3 php SDK getBucketPolicy返回空

I am using the amazon s3 sdk and the getBucketPolicy call does not seem to return anything for me has anyone else had a similar issue.

http://docs.aws.amazon.com/aws-sdk-php/latest/class-Aws.S3.S3Client.html#_getBucketPolicy

If i run.

$client = S3Client::factory(array(
        'key'    => 'key',
        'secret' => 'secret'
    ));
    $result = $client->getBucketPolicy(array(
        // Bucket is required
        'Bucket' => 'bucket',
    ));
    print_r($result->toArray());

it returns

Policy {}

But when i view properties with the Amazon s3 console, on my bucket and click edit policy it is.

{
  "Id": "Policy123456789",
  "Statement": [
    {
      "Sid": "IPAllow",
      "Effect": "Allow",
      "Principal": "*",
      "Action": [
        "s3:GetObject"
      ],
      "Resource": "arn:aws:s3:::mybucket/*"
    } 
  ]
}

Am i missing something?

Do you have IAM policy configured or stored credetials at .aws/config?

If you use code without credentials provided as

$result = $client->getBucketPolicy(array(
    // Bucket is required
    'Bucket' => 'bucket',
));

It supposes either IAM policy is configured at AWS console for your instance or you stored your credentials to ~/.aws/config

If you don't have any, so you should pass configuration as

$result = $client->getBucketPolicy(array(
    // Bucket is required
    'Bucket' => 'bucket',
    'key' => 'put your key',
    'secret' => 'put your secret',
    'region' => 'put your region',
));