0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[GCP]API経由でCloud Strageへファイルをアップロードする方法

Last updated at Posted at 2019-10-22

はじめに

API経由でCloud Strageへファイルをアップロードする方法をまとめています。

参考URL
https://cloud.google.com/storage/docs/uploading-objects?hl=ja

アクセストークンの取得手順

1. アクセストークンの取得ページへ移動

以下にアクセスします。
https://developers.google.com/oauthplayground/?hl=ja
(OAuth 2.0 Playground のページです)

2. アクセストークンを取得したいサービスの選択

以下の画面が表示されたら、以下の順番でクリックします。
 1. Cloud Strage API v1
 2. https://www.googleapis.com/auth/devstrage.read_write
 3. Authorize APIs

image.png

3. アカウントの選択

以下の画面が表示されたら、アカウントを選択したのち、「許可」をクリックします。

image.png

4. アクセストークンの発行

以下の画面が表示されたら「Excange authorization code for tokens」をクリックします。

image.png

5. アクセストークンの表示

以下の画面が表示されたら「Step 2Exchange authorization code for tokens」をクリックしてください。

image.png

以下の画面の「Access token」の欄に記載している文字がアクセストークンです。

image.png

API経由でのファイルアップロード手順

1. curlコマンドの組み立て

以下のコマンドを組み立てます。

curl -X POST --data-binary @[OBJECT] \
    -H "Authorization: Bearer [OAUTH2_TOKEN]" \
    -H "Content-Type: [OBJECT_CONTENT_TYPE]" \
    "https://www.googleapis.com/upload/storage/v1/b/[BUCKET_NAME]/o?uploadType=media&name=[OBJECT_NAME]"

入力する内容は以下の通りです。

変数名 入力する内容
[OBJECT] アップロードしたいファイル名
[OAUTH2_TOKEN] 先ほど入手したアクセストークン
[OBJECT_CONTENT_TYPE] コンテントタイプ(テキストファイルなら text/plain など)
[BUCKET_NAME] バケット名
[OBJECT_NAME] バケットに保存したあとのファイル名

2. curlコマンドの実行

上記の手順で組み立てたcurlコマンドを実行します。
するとCloud Strageにファイルがアップロードされます。

備考

アクセストークンは1時間ほどで有効期限が切れてしまうため、定期的に更新する必要があります。
継続的にAPIを利用するための、リフレッシュトークンを用いたアクセストークンの取得方法は以下にまとめています。

[GCP]継続的にAPIを利用するための、リフレッシュトークンを用いたアクセストークンの取得方法
https://qiita.com/hanzawak/items/7355142f884cb56a4d57

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?