title: The caller does not have permission. 403
body: <p>I need your help to understand how I can access my Cloud Storage.I use Unity, and read the documentation (I confess, not all).I do not have problems with upload the file to storage. I save audio files there, for recognition with Google Cloud Speech Api, using the HTTP request on this: <a href="https://speech.googleapis.com/v1/speech:longrunningrecognize?key=" rel="nofollow noreferrer">https://speech.googleapis.com/v1/speech:longrunningrecognize?key=</a> + MySpeechApiKey</p>
  
  <p>I am trying to send this:</p>
  
  <pre><code>"{"config": {"encoding":"LINEAR16","sampleRateHertz":44100,"languageCode":"ru-RU","maxAlternatives":1,"profanityFilter":false,"speechContexts":[{"phrases":[""]}],"enableWordTimeOffsets":false},
  
  "audio":{"uri":"gs://calm-vine-195513.appspot.com/2018.7.28_10_1_16_382.flac"}}
  </code></pre>
  
  <p>And i get request:</p>
  
  <pre><code>{
  
      "error": {
  
          "code": 403,
  
          "message": "The caller does not have permission",
  
          "status": "PERMISSION_DENIED"
  
      }
  
  }
  </code></pre>
  
  <p>It is worth considering that in the Firebase I made a rule:</p>
  
  <pre><code>service firebase.storage {
  
      match /b/{bucket}/o {
  
          match /{allPaths=**} {
  
              allow read, write;
  
          }
  
      }
  
  }
  </code></pre>
  
  <p>I found a couple of tips that say that I need some kind of service account. How can i do that?Do I need in request URI to add some key or what?</p>