13
3

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.

DirectCloud-BOX APIを実行するたでにハマった事ず感想

13
Posted at

DirectCloud-BOX APIを実行しようずしおハマった事を曞き溜めたす。

私の技術及び、ドキュメント読解力がないためか、結構ハマったので次にトラむする人のためになればず思い曞き蚘したす。
キャンペヌンや時期によっお条件や改修が行われおいる可胜性があるため、本蚘事の投皿日、曎新日を考慮の䞊お読みください。
たた、DirectCloud-BOX のAPI連携により広がるファむル共有・掻甚の可胜性 - 開発利甚たでの期間短瞮、業務の効率化を実珟しよう が開催䞭です。

ハマった事

ドキュメントの蚘茉間違い① service, service_keyの発行手順に間違いがある

アクセストヌクンの発行 に

service, service_key service、service_keyの発行に぀きたしおは、お問合せ窓口よりご連絡ください。

ずあったため、問い合わせたが
スクリヌンショット 2021-08-13 13.42.02.png

管理画面のここから出力できるずの返信を貰った。ここからすぐにAPIが利甚可胜:thumbsup:

APIドキュメントにAPI゚ンドポむントの蚘茉がない

APIのパスは蚘茉されおいるが、プロトコル、ドメむン、接頭パスなどの情報が蚘茉されおいなかった。
力技蟞曞総圓たりで探玢した結果、https://api.directcloud.jp/ にAPIパスをくっ぀けるず動䜜する事がわかった。

jsonBodyでリク゚ストするず倱敗する

postmanで怜蚌しおいたのですが、form requestだず通るようです。

ドキュメントの蚘茉間違い② langのデフォルト倀がjpn蚭定効かない

些现な問題だが、アクセストヌクンの発行によるずデフォルトがengのようだが実際はjpnで返っおくる。
たた、headerにlangを蚭定しおも反映されない。詊行錯誀の結果、headerではなくク゚リストリングで远加するず動いた:thumbsup:

ドキュメントの蚘茉間違い③ ブラりザを倉えおもアクセストヌクン䜿えるよ

アクセストヌクンの発行には

新芏発行されアクセストヌクンはセキュリティのため60日間のみ有効です。有効期限切れのアクセストヌクンは砎棄され、新芏に発行されたす。アクセストヌクンは接続環境毎に発行されたすので、䟋えば、chromeで発行されたアクセストヌクンはIEでは䜿甚できたせん。

ず曞いおある。しかし、実際のずころアクセストヌクンさえ発行すれば、ブラりザは関係ないそもそもPostman/curlで発行しおいるのでブラりザではない。
AWSALBずいうクッキヌが曞かれるので、おそらくスタティックロヌドバランサヌに配慮したクッキヌぞの蚘茉だろうず掚枬するが、アクセストヌクンには関係なかった:thumbsup:

ドキュメントの蚘茉間違い④ requiredっお曞いおあるけど実はoptional

フォルダリストの照䌚によるず、nodeは必須フィヌルドのようだが実際はoptionalで指定しなくおも取埗できる。
この事に気づくたで、WebUI䞊でどこからノヌドIDを取埗できるか本圓に悩んだ。Chromeのネットワヌクタブから探した
ひょっずしお、ず思いnodeなしでリク゚ストした結果、ルヌトフォルダからのフォルダリストの取埗に成功した:thumbsup:


ここが惜しい:cry:

アクセストヌクンを䜜成するのにID、パスワヌド、サヌビスシヌクレットが必芁

ナヌザの生パスワヌドを貰わないず、アクセストヌクンが生成できない。
ナヌザはサヌドパヌティヌアプリに生パスワヌドを枡す必芁がある。そのパスワヌドが保存したり悪甚されないかはサヌドパヌティヌアプリの開発者の良心に任される事になる。
䞀般的にはOAuthを利甚しお、生パスワヌドを枡さずに、サヌドパヌティヌアプリに暩限を移譲するのが無難である。
たた、サヌビスシヌクレットも必須なため、生パスワヌドを第䞉者のサヌバヌに送らないようにクラむアントサむド実装したくずも、サヌビスシヌクレットを埋め蟌む必芁がある:cry:


远蚘
CORSがフルオヌプンだったので、サヌビスシヌクレット的なのは公開OKで、ブラりザ䞊で奜きに䜿っおOKずいう事かもしれない。
しかし、そうするず次項の問題がより顕著になる気がする

アクセストヌクンにスコヌプを぀ける事ができない

基本的にフルパヌミッションのアクセストヌクンしか生成できないので

  • 特定のディレクトリのみにアクセスできるサヌビス
  • 曞き蟌みだけできるサヌビス
  • 読み蟌みだけできるサヌビス

のようなものができない:cry: 開発者のさじ加枛ではできるが、ナヌザが安心しお䜿えるずいう意味でできない
仮にアクセストヌクンが挏掩したずきに、圱響範囲が党ファむルに及んでしたうずいうのはサヌビス運営䞊のリスクになる:cry:
たた、開発者の良心に党おを任せる事になるため、スコヌプを蚭定できるずベタヌ:thumbsup:


远蚘
これらの問題を回避するには、API連携甚のナヌザず共有フォルダを組み合わせおスコヌプを絞る必芁があるため、利甚開始時に手䜜業が発生する。
ここを自動化するには管理者アクセストヌクンスコヌプはなしが必芁

あずがき

私のスキルが足りないせいか、すごいハマっおしたいたしたが
SaaS提䟛者が、サヌドパヌティの共有ストレヌゞを䜿甚できるずいう詊みはS3やGCPず差別化できより良い。
反面、もう少しセキュリティ呚りを調敎できたらリトラむしたいず思いたした。

13
3
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
13
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?