S3のAPIドキュメントをよんでRESTClientでナントカつなげようとしたけど
うまくいかない..
たぶんAutorizationに設定する値が生だとだめなのかな..
で、なにか方法はないかなと調べてみると、
Amazon S3 Library for REST in Java
http://developer.amazonwebservices.com/connect/entry.jspa?externalID=132
を見つけた。
これを使えばいいけど
をAndroidManifest.xmlに登録しないといけない。
そうしたらうまくいった。
AWSAuthConnection conn = new AWSAuthConnection(
ACCESSKEYID,
SECRETACCESSKEY,
false, ←trueだとhttps
"s3.amazonaws.com", ←
CallingFormat.getSubdomainCallingFormat());
Response res = conn.put(
BUCKETPATH,←トップのバケット名
"hogehoge/test.txt",
new S3Object(imageData(バイト配列), null),
null);
これでOK。
2 件のコメント:
はじめまして。androidでS3を使うことになり、こちらのアーティクルを拝見しました。
securityKeyをアプリに入れた場合、逆コンパイルしてその情報がもれてしまうと悪意のあるユーザーから勝手にbucketを作られたりしないですか?
まだ、S3を学びはじめの為、的外れだったらすみません :)
実際に活用する場合は
たしかに注意しないといけないですね。
携帯端末IDを送信して
暗号化したキーを送り返したり
携帯端末IDで暗号化するといった方法はよく使われているようですので
そういった対策をするとか
必要だと思います。
簡単な方法だと、
ユーザビリティを下げてしまいますが、
メニューで登録画面から入力してもらう
という方法もありますね。
コメントを投稿