Kaizaki Arata
Kaizaki Arata

Reputation: 74

Google Cloud Storage 500 Internal Server Error

SettingsController.php:

    namespace App\Controllers;

    use Google\Cloud\Storage\StorageClient;

    class SettingsController extends Controller {

        public function createBucket($request, $response) {
            $projectId = 'myProjectId'; //here I specified my projectId 

            $storage = new StorageClient([
                'projectId' => $projectId
            ]);

            $bucketName = 'socnetfilestestkekdsfa213kfh34';
            $bucket = $storage->createBucket($bucketName);
        }
     }

So, I wrote this code in accordance with documentation, but I'm always getting 500 Network Error.

This is my index.php:

<?php
require __DIR__ . '/../vendor/autoload.php';
require __DIR__ . '/../config/db.php';

$app = new \Slim\App(['settings' => $config]);

require __DIR__ . '/../app/dependencies.php';
require __DIR__ . '/../app/routes.php';

$app->run();

And this is my project structure:

backend project structure

Upvotes: 1

Views: 4352

Answers (1)

Kaizaki Arata
Kaizaki Arata

Reputation: 74

Finally, I've solved the problem. As I mentioned require __DIR__ . '/../vendor/autoload.php'; was correct. In my case, the reason of 500 Error was an environment variable. For the deployed app you should put your Service Google Cloud Account key config.json into your project. I put mine in a config folder (check my project structure above). It means that in Heroku 'Settings' i need to specify GOOGLE_APPLICATION_CREDENTIALS: ../config/yourAppName.json

Thanks this article: https://medium.com/@naz_islam/how-to-authenticate-google-cloud-services-on-heroku-for-node-js-app-dda9f4eda798

Upvotes: 1

Related Questions