質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

1回答

382閲覧

digitalocean API ファイルダウンロード方法

MF_19

総合スコア27

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2018/03/28 09:02

digitaloceanのAPIの使い方がよく分かっておらず、質問させて頂きます。
(APIドキュメントは見てあまり理解できておりません)

現在digitaloceanにファイル(zip)を上げているのですが、
そのファイルをダウンロードできるかどうかチェックするために、
ブラウザに下記構成のURLを入れていますが、エラーが出ています。

恐らくリクエストの仕方(URL構成)に問題があるのかと思っています。
リクエスト方法に誤りがあるか、またはリクエスト方法をご教授頂けると助かります。

宜しくお願いいたします。

OS:ubuntu
browser:chrome
degitalocean ACL:public-read

#Error

This XML file does not appear to have any style information associated with it. The document tree is shown below. <Error> <Code>AccessDenied</Code> <RequestId>**********************************-005abb5289-163c5f-nyc3a</RequestId> <HostId>*****-nyc3a-nyc</HostId> </Error>

#ブラウザに入力したURL構成

https://nyc3.digitaloceanspaces.com/{FILE_NAME}?AWSAccessKeyId={ACCESS_KEY}&Expires=1585464193&Signature={SIGNATURE}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Requests to the Spaces API must include an HTTP Authorization header.
https://developers.digitalocean.com/documentation/spaces/

authorization headerをセットせずにリクエスト送ってるのでは?

それか、ただimgタグでの参照や画像URLをアドレスバー直打ちで画像表示したいだけの話であれば、コンパネで対象のスペース(バケット)ページを開いて、以下のキャプチャ画像のように、manage permissionsで対象画像のpermissionをpublicにすれば良いだけだとは思いますが。



イメージ説明



イメージ説明

投稿2018/03/28 09:51

編集2018/03/28 13:25
HayatoKamono

総合スコア2415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MF_19

2018/03/28 12:29

https://developers.digitalocean.com/documentation/spaces/ お答えありがとうございます。 すいません、上記を見てみたのですが、分かっておりません。 具体的にはどのようにセットすれば良いか教えて頂けますでしょうか? コンソールでは下記のような出力になってます。 "GET /sensor/release/https://nyc3.digitaloceanspaces.com/saved.zip?AWSAccessKeyId=**********&Expires=1515464193&Signature=******************** HTTP/1.1" 404 -
MF_19

2018/03/28 13:05

編集頂いたコメント確認できておりませんでした。 response = object_acl.put(ACL='public-read') アップロード時にこのように設定していたので、publicにはなっているかと思っています。 この分野に明るくないため、調べても要領を得ていない現状です。 可能でしたら、 コンパネのmanage permissionsで対象画像のpermissionをpublicにする ⇢こちらの参考コードを教えて頂けますと大変助かります。 お手数ですが、よろしくお願いします。
HayatoKamono

2018/03/28 13:52 編集

追記しました。逆にコードベースでの細かい話でしたら自分はpythonに明るくないので、パイソニスタの方に聞いた方が良いかと思います。
MF_19

2018/03/29 01:40

詳細のご説明ありがとうございます。 諸事情によりログインできない(見れない)状態だったのですが、画面の写真で構成がわかり、無事アップロード、ダウンロードができました。 ご丁寧にありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問