[Tips] Google Driveとのコンテンツ連携(Linux)

描いたイラストなどをサーバ(Linux)で解像度変更等を実施しているのですが、処理の流れで「Google ドライブ」へファイルをアップロードしてバックアップをするための方法です。

なるべく手を抜くことをモットーとしているので、世の中で提供されているものをなるべく使います。
今回は、「gdrive」というGoogleドライブと同期をとるツールを利用します。

導入方法などは以下サイトを参考にしました。
https://www.nextdoorwith.info/wp/se/linux-gdrive/

早速ですが、導入して同期ができない問題が発生。
よくよく調べると提供しているgdrive実行ファイルの中で、Google Drive APIで使用しているキー情報が固定で埋め込まれていることから、1日の使用量上限にすぐに到達してしまっているよう…

この記事はその辺の解決までに至った手順を粗々で記載します(o^―^o)ニコ

参考にしたサイトはコチラ
https://7mc.org/2019/03/04/prasmussen_gdrive_403_error_solution.html

1.コンパイル環境の準備

gdriveはGOというプログラミング言語で作られているので、下記コンパイル環境を取得します。
https://golang.org/dl/

2.プロジェクト環境の準備

GitHubからプロジェクトを取り込むためにGitもインストール。
https://git-scm.com/downloads

3.プロジェクトファイルのダウンロード

gdrive」にアクセスし、「Clone or download」ボタンからソース一式をダウンロードします。

4.APIの登録

Google Developer APIにアクセスしAPIを登録します。
https://console.developers.google.com/apis/dashboard
1)「新しいプロジェクト」を選択し作成
2)「APIとサービスを有効化」から「Google Drive API」を選択
3)「Google Drive API」で「有効にする」を選択し、APIを有効化する
4)「Google Drive API」で「認証情報」を選択する

5)「同意画面を構成」を選択する
6)「OAuth 同意画面」で「アプリケーション名」を入力し「保存」を選択する

7)「認証情報を作成」→「ウィザードで選択」を選択する

8)「プロジェクトへの認証情報の追加」画面で情報を入力し、「必要な認証情報」を選択

使用するAPI:「Google Drive API」を選択
APIを呼び出す場所:その他のUI(Windows、CLIツールなど)
アクセスするデータの種類:「ユーザーデータ」を選択
9)「OAuthクライアントIDを作成」を選択

10)「完了」を選択
11)「認証情報」を選択し、該当のクライアントID、シークレットを確認

5.ソース変更

3項で取得したプロジェクト内の「handlers_drive.go」をメモ帳等で開き、4項で取得したクライアントID、シークレットを書き換える。
対象箇所:ClientId,ClientSecret

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import (
    "fmt"
    "io"
    "io/ioutil"
    "net/http"
    "os"
    "path/filepath"
    "time"

    "github.com/prasmussen/gdrive/auth"
    "github.com/prasmussen/gdrive/cli"
    "github.com/prasmussen/gdrive/drive"
)

const ClientId = "367116221053-7n0vf5akeru7on6o2fjinrecpdoe99eg.apps.googleusercontent.com"
const ClientSecret = "1qsNodXNaWq1mQuBjUjmvhoO"
const TokenFilename = "token_v2.json"
const DefaultCacheFileName = "file_cache.json"

func listHandler(ctx cli.Context) {

6.コンパイル/ビルド

コマンドプロンプトを起動し、5項で変更した「handlers_drive.go」が格納されているフォルダまで移動
以下コマンドを実行しコンパイルを実行

今回はLinux上で動作させたいためクロスコンパイル(Windows→Linux)を実施する。
下記サイトを参考に実施しました。
http://web-technical.hatenablog.com/entry/2017/11/14/113231
私の環境がWindowsなので、Windows目線で記載しています。

go get github.com/prasmussen/gdrive

1)外部ライブラリを導入

1
go get github.com/prasmussen/gdrive

2)現在の環境変数の確認

1
go env

3)実行環境がLinuxの64bit版なので、以下を設定

1
2
set GOOS=linux
set GOARCH=amd64

4)ビルド

1
go build

同階層に作成された実行ファイル「gdrive-master」を使用してください。

  • x
  • pixiv
  • pixivFANBOX
  • skeb
  • amazon
  • booth
  • nijie
  • pixivSKETCH
  • Patreon
  • YouTube

関連記事

  1. READ MORE

    Tips:PSPエミュレータ『PPSSPP』

    2014-07-20

  2. READ MORE

    [Tips] プラグイン『TwitterDigest...

    2016-09-14

  3. READ MORE

    [Tips] Wakeup On Lan を設定する...

    2020-05-19

  4. READ MORE

    [Tips] 『File Renaming on u...

    2014-04-26

コメントをお待ちしております。

コメント

CALENDAR

2025年6月
1234567
891011121314
15161718192021
22232425262728
2930  

RECOMMEND POST

  1.    

    READ MORE

    [日記] イラスト製作日記… (オリジナル)

    投稿日:2011-10-09

    さて、現在のイラスト製作状況です。

ADVERTISEMENT

ARCHIVE

THE WORK

GALLERY

  1. READ MORE

    更新日:2022-02-06

    オープンエロなお姉さんとお節介焼きのエルフ少女、彼女たちに振り回されるラッキースケベ魔法使い男がいます。

  2. READ MORE

    更新日:2022-01-11

    40代主婦と10代JKの母娘が近所の冴えない青年に寝取られて、楽しいS●Xライフを送る毎日

  3. READ MORE

    更新日:2021-12-14

    エルフ族・竜族・猫族の3人美人義姉妹が教会のシスターとしておりなすお悩み解決エロファンタジー

  4. READ MORE

    更新日:2020-07-13

    arohaJ様のpixiv内企画「pixivファンタジア」に参加した際のイラストです。

  5. READ MORE

    更新日:2023-12-11

    pixivの企画参加絵や取り留めなく書いた落書き、まだグループとして外出しできないようなモノを入れています。まぁ一言で言えばなんだかよく分からないということです

  6. READ MORE

    更新日:2024-09-07

    お気に入り:『ワンピース』『NARUTO』『BLEACH』『鋼の錬金術師』『ダイの大冒険』『生徒会役員共』

  7. READ MORE

    更新日:2023-03-05

    pixivやtwitterなんかでお知り合いになった絵師さんのお子さんを描かせていただきました。

  8. READ MORE

    更新日:2022-05-02

    たまにお出掛けしたときに撮った写真やマイ猫の記録写真などです。

ページ上部へ戻る