Laravel | Dropbox api ファイルアップロードの実装方法

Laravel

Laravel には、Dropbox API を利用するためのプラグインがたくさんあります。

その中でも、特に有名なプラグインである、「spatie/flysystem-dropbox」の利用方法を説明いたします。

手順としては、あまり複雑な箇所はないと思いますが、

tokenの生成などをプログラムで実装する箇所で躓いたりしましたので、参考になれば幸いです。

また、Dropbox API を利用する場合には、

AppKey、AppSecret、AuthTokenを利用する方法と、RefreshToken を利用する方法があります。

後半は、RefreshToken を利用する方法を説明していきます。

Configure Dropbox as Driver

実行結果

AppServiceProviderの追加

追加前

追加後

config/filesystems.php

Dropbox側の準備

Get Dropbox API Key & Secret & Access Token を取得します。

基本的には、画面の指示どおりに進めていきます。

※ファイルなどのアクセス権限を変更した場合には、再度、AccessTokenを取得しなおします。

Login - Dropbox
Login to Dropbox. Bring your photos, docs, and videos anywhere and keep your files safe.

Upload File using Dropbox

Refresh Token を利用する場合

Refresh Token の取得

下記のリンクから、AccessTokenを取得します。
APP_KEYは、上記で取得した APP_KEYを指定します。

https://www.dropbox.com/oauth2/authorize?client_id=$APP_KEY&response_type=code&token_access_type=offline

取得したAccessToken から、curl で Refresh Token を取得します。

上記で取得した、refresh_token を、 .env に設定します。

詳細については、下記の参考サイトを確認してください。

プログラムで取得する場合の参考例

refresh token で対応する場合の参考サイト

laravel-dropbox-with-short-lived-access-token
https://github.com/Asano-Naoki/laravel-dropbox-with-short-lived-access-token/

日本語版のドキュメントも充実しているので、手順書通りに対応できると思います。
https://github.com/Asano-Naoki/laravel-dropbox-with-short-lived-access-token/blob/main/README_ja.md

参考サイト

spatie/dropbox-api
https://github.com/spatie/dropbox-api

Laravel Storage Dropbox Integration Example
https://www.itsolutionstuff.com/post/laravel-5-dropbox-api-file-upload-example-using-league-flysystem-dropbox-packageexample.html

Laravel Dropbox api File Upload example using league/flysystem-dropbox
https://www.codesolutionstuff.com/laravel-dropbox-api-file-upload-example

Dropbox APIトークンを取得する
https://zenn.dev/yakumo/articles/75d3df651d0609

おススメ商品

タイトルとURLをコピーしました