![Google ドライブ API 接続が拒否されました](https://rvso.com/image/1606672/Google%20%E3%83%89%E3%83%A9%E3%82%A4%E3%83%96%20API%20%E6%8E%A5%E7%B6%9A%E3%81%8C%E6%8B%92%E5%90%A6%E3%81%95%E3%82%8C%E3%81%BE%E3%81%97%E3%81%9F.png)
API 経由で Google ドライブにアップロードする際に問題が発生します。
サーバーは5台あります。
- デジタルオーシャンのサーバー1-3 = アップロード成功
- ローカルのサーバー 4 と 5 = アップロード失敗
次のエラーメッセージが表示されます:
ドキュメントのアップロード中にエラーが発生しました: 投稿https://www.googleapis.com/upload/drive/v2/files?alt=json&convert=false&uploadType=resumable: ダイヤル tcp 36.86.63.182:443: 接続が拒否されました
私は試した:
- ファイアウォールサーバー4と5のポートを開く設定
- サーバー4と5のファイアウォールをオフにする
- ルーターのファイアウォールポート/フィルターを開く設定
- ルーターのファイアウォールをオフにする
- モデムのポート転送を設定する
- ローカルホスト (サーバー 4 および 5 と同じオペレーティング システムと設定を備えたラップトップ) から、サーバー 4 および 5 と同じ宛先に Google ドライブにアップロードすると、成功します。
私の推測:
- ルーターからエラーは発生しません。同じネットワークで Centos 7 を使用しているローカルノートブックでも正常にアップロードできるからです。
- エラーはサーバーから発生したものではありません。ローカルホストでテストされ、正常にアップロードされ、サーバー 4 および 5 のファイアウォールをオフにしようとしたためです。
GDrive をインストールするには、次のリファレンスを使用しました。https://www.mynotepaper.com/install-google-drive-and-schedule-backup-to-gdrive-on-centos-7.html
これは私が使用したスクリプトですhttps://gitlab.com/snippets/1903649。
Centos 7 オペレーティング システムを使用しています。
答え1
GDrive は現在積極的にメンテナンスされていません。
GDrive は独自の認証情報で使用できます。独自の認証情報を使用するには、プロジェクトをコンパイルする必要があります。独自の OAuth 認証情報でコンパイルするには、次の手順に従う必要があります。
- マシンにGoをインストールする
- 独自の Google 認証情報を作成し、Google Drive API を有効にする
- ダウンロードGドライブ、抽出する
- ファイルを開き
handlers_drive.go
、17行目と18行目に独自の資格情報を設定します。 - 次にプロジェクトをビルドし、コンパイルしたものを
gdrive
サーバーにアップロードします。
gdrive
以上です。これで通常通りご利用頂けます。
これらの手順については、この記事で説明します。独自の OAuth 認証情報を使用して Linux サーバー上の GDrive を使用して Google Drive をマウントするぜひご覧ください。