

# 質問

expressを使用しています。  
herokuでgoogle cloud storageにファイルをアップロードしようとしてもできません。  
以下の場所でエラー文を吐きます。

[code]

    const blobStream = blob.createWriteStream()
    
[/code]

しかしながら、ローカルでは問題なく動くため、gcsのキーの設定がおかしいと思っています。

[code]

    /api
      index.js //ここで動かしている
    
[/code]

[code]

    // Procfile
    echo ${GOOGLE_CREDENTIALS} > /google-credentials.json
    web: nuxt start
    
[/code]

[code]

    // index.js
    const sto = new Storage()
    
[/code]

[code]

    //env
    GOOGLE_APPLICATION_CREDENTIALS:google-credentials.json
    GOOGLE_CREDENTIALS:"鍵"
    
[/code]

GOOGLE_APPLICATION_CREDENTIALSを設定していれば、new Storage()の時に何も必要ないのでしょうか。  
もしくはファイルの指定がおかしいのでしょうか?  
よろしくお願いいたします。

## エラー文

[code]

    2020-12-06T12:48:41.864878+00:00 app[web.1]: Unexpected end of JSON input
    2020-12-06T12:48:41.864890+00:00 app[web.1]:
    2020-12-06T12:48:41.864891+00:00 app[web.1]: at JSON.parse (<anonymous>)
    2020-12-06T12:48:41.864892+00:00 app[web.1]: at ReadStream.<anonymous> (node_modules/google-auth-library/build/src/auth/googleauth.js:334:39)
    2020-12-06T12:48:41.864893+00:00 app[web.1]: at ReadStream.emit (events.js:326:22)
    2020-12-06T12:48:41.864894+00:00 app[web.1]: at ReadStream.EventEmitter.emit (domain.js:483:12)
    2020-12-06T12:48:41.864894+00:00 app[web.1]: at endReadableNT (_stream_readable.js:1241:12)
    2020-12-06T12:48:41.864895+00:00 app[web.1]: at processTicksAndRejections (internal/process/task_queues.js:84:21)
    
[/code]

# バージョン

nodejs : 12.19.0  
express : 4.17.1


CC BY-SA 4.0
2020-12-06T13:09:15.993
72457
2020-12-07T09:35:01.830
29881
question
node.js google-cloud-storage
herokuでgoogle cloud storageにアクセスできない


以下で指定している環境変数の`GOOGLE_CREDENTIALS`がJSONではないため、JSON.parseがエラーを吐いているように見えます。

[code]

    echo ${GOOGLE_CREDENTIALS} > /google-credentials.json
    
[/code]

`GOOGLE_CREDENTIALS`は`JSON.parse`可能なテキストが保持されているか確認してみてください。


CC BY-SA 4.0
2020-12-07T06:12:31.543
72472
2020-12-07T06:12:31.543
7997
72457
answer


お騒がせしました。  
そもそも

[code]

    echo ${GOOGLE_CREDENTIALS} > /app/google-credentials.json
    
[/code]

であり、保存するファイルは.procfileでした。


CC BY-SA 4.0
2020-12-07T09:35:01.830
72481
2020-12-07T09:35:01.830
29881
72457
answer