【问题标题】:The caller does not have permission. 403调用者没有权限。 403
【发布时间】:2018-07-29 03:18:20
【问题描述】:

我需要您的帮助来了解如何访问我的云存储。我使用 Unity,并阅读了文档(我承认,不是全部)。我没有将文件上传到存储的问题。我将音频文件保存在那里,以便通过 Google Cloud Speech Api 识别,使用 HTTP 请求:https://speech.googleapis.com/v1/speech:longrunningrecognize?key= + MySpeechApiKey

我正在尝试发送这个:

"{"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"}}

我得到了请求:

{

    "error": {

        "code": 403,

        "message": "The caller does not have permission",

        "status": "PERMISSION_DENIED"

    }

}

值得考虑的是,我在 Firebase 中制定了一条规则:

service firebase.storage {

    match /b/{bucket}/o {

        match /{allPaths=**} {

            allow read, write;

        }

    }

}

我发现了一些提示我需要某种服务帐户。我该怎么做?我需要在请求 URI 中添加一些密钥还是什么?

【问题讨论】:

  • 我不明白我应该如何打开完全访问权限?我不在乎任何人都可以访问。我在请求链接中指出了来自 Google 的示例:“gs: //cloud-samples-tests/speech/*lyn.flac”并且这已经成功了!但是我怎样才能进行与他们相同的访问呢?请帮忙!

标签: firebase cloud


【解决方案1】:

我遇到了同样的问题并通过以下方式解决了:

1) 您必须安装 gcloudgsutil

2) 然后在命令提示符下运行 gcloud init。这里必须配置配置

3) 运行 gsutil iam ch allUsers:objectViewer gs://your_bucket

它对我有用 =)

【讨论】: