skickaの『「Google でログイン」機能が一時的に無効』を一時的に解決する

## 問題

[Google Drive の CLIツール `skicka`](github.com/google/skicka) にログインする際、新しく`skicka`を使い始めるアカウントでログインしようとするとこんな画面になってしまいます。

<img width="704" alt="screenchot20200102194747.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/159836/c23182e6-8182-cac2-2acf-bc3d0dc4e9ba.png">

## 原因(推測)

skicka のデフォルトの Google API キーの確認申請が行われていない。

<blockquote>

<details><summary> 2020/5/16 訂正</summary><div>


(skicka は Google 公式のはずですが……)
<br>

@mrmt さんよりコメントにて指摘を受けました。skicka は Google 公式のものではありません。訂正させていただきます。 
</div></details>


</blockquote>


## 対処法

Google Cloud Console を開いてプロジェクトを作り、自分で API キーの設定を行いましょう！
Google への確認申請を行わないので、認証できるアカウントが100アカウントまでの制限に加え、ログイン時に警告画面の表示もありますが、個人使用なら問題ないでしょう。

- https://console.cloud.google.com/projectcreate ここでプロジェクトを作成します。

    <img width="546" alt="createproj.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/159836/40e5368f-5bfb-f8d7-c7ca-55dcab316f55.png">

    `Project Name`はなんでもOKです。
    `CREATE`を押して次に進みます。

- 少し待てば、右上の通知アイコンのくるくるが終わって、完了します。
  通知を開き、`Create Project: ***`を押して作ったプロジェクトに切り替えます。

    <img width="381" alt="スクリーンショット 2020-01-02 20.04.29.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/159836/02b2c65e-c90f-0e11-6b0a-caed38651cdd.png">


- 左上のボタンからメニューを開き、`APIs & Services` --> `Library` を選択します。
    <img width="449" alt="スクリーンショット 2020-01-03 17.41.27.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/159836/5f0131a5-035f-fa92-bb44-6b1105683aa6.png">

- `google drive`で検索します。
    <img width="870" alt="スクリーンショット 2020-01-03 17.43.43.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/159836/32721344-75de-5ddc-2087-3918e8c393b2.png">

- Google Drive API を選択します。
    <img width="995" alt="スクリーンショット 2020-01-03 17.45.14.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/159836/14f22d8d-5648-8d08-6592-cc36be6d1d95.png">

- `ENABLE`を押して有効化します。
    <img width="698" alt="スクリーンショット 2020-01-03 17.45.25.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/159836/d8ba9fa5-e23a-066a-c85e-43743b65f8cd.png">

- `OAuth consent screen`を開きます 。
    <img width="615" alt="スクリーンショット 2020-01-03 17.46.51.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/159836/b29a2546-60fb-4773-3e3d-3a9932d06280.png">

- `External` を選択し、`CREATE`を押します。
    <img width="501" alt="スクリーンショット 2020-01-03 17.47.06.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/159836/f6c6abe8-4c20-9709-9ad0-c7c8312461c1.png">

- `Name` を適当に入力し、`Save`を押します。
    <img width="215" alt="スクリーンショット 2020-01-03 17.47.58.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/159836/ed308f45-0dfc-f5ab-a7f2-a83ff099abd3.png">
    _中略_
    <img width="465" alt="スクリーンショット 2020-01-03 17.48.23.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/159836/59dc6fc9-9e3c-7343-6f32-60981277ca89.png">

- 左側の `Credentials` を選択し、 `Create credentials` --> `OAuth client ID` を選択します。
    <img width="777" alt="スクリーンショット 2020-01-03 18.00.28.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/159836/2e16da16-af03-c6ef-d218-328e7997d57e.png">

- `Other` を選択し、 `Create`を押します。
    <img width="613" alt="スクリーンショット 2020-01-03 17.48.59.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/159836/af258ac4-1332-aafc-64b8-2c89ea8f0fe2.png">

- Client ID と Client Secret が表示されればOKです。
<img width="508" alt="スクリーンショット 2020-01-03 17.49.34.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/159836/71a02378-a1b9-3d35-05d6-711b0b7d863c.png">

- `.skicka.config` を編集します。  
  `.skicka.config` がないときは `$ skicka init` を実行してください。
  ホームディレクトリに`.skicka.config`が生成されます。

```ini
; Default .skicka.config file. See 
; https://github.com/google/skicka/blob/master/README.md for more
; information about setting up skicka.
[google]
	;Override the default application client id used by skicka.
    ; 👉 以下の2行のコメントアウト(先頭のセミコロン)を外し、表示された ID, Secret に置き換えます
	clientid=xxx-xxxxx.apps.googleusercontent.com
	clientsecret=xxxxx-xxxxx_xxxxxxxxx
	;An API key may optionally be provided.
	;apikey=Yasdf
[encryption]
	; Run 'skicka genkey' to generate an encyption key.
	;salt=
	;passphrase-hash=
	;encrypted-key=
	;encrypted-key-iv=
[upload]
	; You may want to specify regular expressions to match local filenames
	; that you want to be ignored by 'skicka upload'. Use one ignored-regexp
	; line for each such regular expression.
	;ignored-regexp="\\.o$"
	;ignored-regexp=~$
	;ignored-regexp="\\._"
	;ignored-regexp="RECYCLE\\.BIN"
	;ignored-regexp="Thumbs\\.db$"
	;ignored-regexp="\\.git"
	;ignored-regexp="\\.(mp3|wma|aiff)$"
	;ignored-regexp="\\.~lock\\..*$"
	;ignored-regexp="~\\$"
	;ignored-regexp="\\.DS_Store$"
	;ignored-regexp="desktop.ini"

	;
	; To limit upload bandwidth, you can set the maximum (average)
	; bytes per second that will be used for uploads
	;bytes-per-second-limit=524288  ; 512kB

```

以上の手順で使えるようになります。

```shell
$ skicka ls
skicka: attempting to launch browser to authorize.
(Re-run skicka with the -no-browser-auth option to authorize directly.)
# ブラウザでログインしてください
# 警告が表示されますが、ログインできるはずです。
Updating metadata cache: [=====================================] 100.00% 26s
# ここにフォルダ・ファイルの一覧が表示されます！！！！

```