Googleドライブは「コピー・ダウンロード」ではなく「移動」すれば、共有URLやjsonAPIを使い回せる

# はじめに
以下のような案件が発生しました
「**現在使用している共有ドライブから、別の共有ドライブにファイルを移動させたい**」
普通のweb開発案件ではなかなかお目に書かれませんが、
ハッカソンやシビックテック界隈では、開発の整理などのため、Googleドライブのフォルダを移動させることがたまにあります。

# 注意
本調査は2020/7/24-27の間に行った調査です。
その後、Googleドライブの仕様変更などにより、本記事とは異なる動作をする可能性があります。
また、「共有ドライブ」は検証の範囲外です。(G-Suite使ったことない)

# 結論
- 元のURLを使うなど、「同じもの」を使いたいときには、「移動」を使う。(**jsonのURL、Googleフォームの外部公開URL等も引き継がれる**)
- 「全く別のもの」を作りたいとき、「コピー」を使う
- Googleドライブのフォルダの編集権限は、移動先の編集権限+ファイルに設定された編集権限が設定される。コピーの場合はファイル設定の編集権限は破棄される。

# 実験①：Googleスプレッドシートでの検証
## 検証用のプログラム
https://iamakawa.github.io/GSphreadSheetTest/
Googleスプレッドシートから表を表示するだけの簡単なプログラムです。
![デモアプリ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90313/9b9123d1-424b-7420-eec4-3f648670e1a5.png)

## コピー・ダウンロードの場合
「コピー」すると、スプレッドシートのIDが変わってしまうため、参照元のプログラムを変更する必要があった。(ダウンロードと同様)
![Googleスプレッドシートのコピー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90313/b775508f-3bb5-9247-2228-e5da09b2204a.png)
![GoogleスプレッドシートのID1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90313/7e51e509-e796-64fa-5d8f-4b3322c11a72.png)
![GoogleスプレッドシートのID2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90313/349bfa5c-a243-6c22-0ba8-03fab0e3a299.png)

## 移動の場合
「移動」すると、IDが変わらない。プログラムを変更する必要なし。
他の「共有フォルダ」に移動しても、IDが変更しない。
![指定のフォルダへ移動.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90313/55d32cb3-153a-34ed-bd39-be7368e73161.png)

# 実験②：Googleフォームでの検証
## 検証用のフォーム
![Googleフォーム1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90313/771d829f-19db-2d98-3589-8be04f849aef.png)

## コピー・ダウンロードの場合
「コピー」 すると、フォームのIDが変わってしまうため、参照元のURLを変更する必要があった。
「ダウンロード」できない。(フォルダごとダウンロードすると、フォームを再現したHTMLと回答結果のcsvがダウンロードされる)
![フォームのコピー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90313/548e30ba-5408-2616-06f9-76017c2e6a26.png)
![GoogleフォームのID1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90313/6ac343eb-a4b2-76f6-f9fe-762fa68c7071.png)
![GoogleフォームのID2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90313/8c710902-e34d-3504-de77-2030a76cdd4f.png)

## 移動の場合
「移動」すると、IDが変わらないため、外部公開のURLの変更の必要なし。
他の「共有フォルダ」に移動しても、IDが変更しない。

# 実験③：Googleドライブでの検証
## 何を調査するか
![Googleドライブ調査仕様.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90313/bbc1b501-158f-067c-b4ec-8796c8e17687.png)

## 調査した結果
- フォルダの「コピー」は不可。一旦ダウンロードした後、アップロードし直した結果、アカウント①②両方の編集権限はなかった。
- ファイルの「コピー」をした結果、アカウント①②両方の編集権限はなかった。
![スプレッドシートBのコピー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90313/c50251f2-2b17-abdc-98bc-0f2bba156dcc.png)
![フォルダBのコピー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90313/78f1a6e4-53c0-b5cb-8eaa-55b9c4ba3866.png)

- フォルダ・ファイルの移動ともに、「移動」の場合は、個別に編集権限を設定したアカウント②のみ編集できる
![編集権限の移動①.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90313/90294436-ea86-0dd7-7662-3630d5df07a0.png)
![フォルダの編集権限②.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90313/03d32915-2dfd-f3aa-62d6-945ef95dfb90.png)
![フォルダの編集権限③.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90313/d65cdd94-f8cb-dea0-52fd-7b97de9c6699.png)

結果をまとめると下記のとおり。
![編集権限まとめ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90313/5cce4d1f-9788-26a6-190d-80f70873ad51.png)

# 終わりに
Googleドライブの共有が、フォルダ・ファイル単位で管理されており分かりやすいと感じました。