web-dev-qa-db-fra.com

L'appelant anonyme n'a pas de stockage.Object.get

Sur Google App Moteur (GAE) écrit en Python.

J'essaie d'émettre un message HTTP à l'API de cloud-thect-to-text et à l'utilisation de la source audio URI (Objets de gousset de stockage de Cloud Google Stocket).

J'utilise les en-têtes suivants;

Authorization: BASIC encoded_base64(username:password)

Mais je continue toujours à obtenir une réponse d'erreur ci-dessous:

{"Erreur": {"Code": 403, "Message": "L'appelant anonyme n'a pas de stockage.Object.get Accès au godet_of_secrets/Four_score_seCrets/Four_score_seCrets_Years.flac.", "Statut": "Permission_Dentied"}}

J'ai donc quelques questions;

  1. L'en-tête d'autorisation de base fonctionne-t-il dans Google HTTP API?
  2. Quoi username:password Devrais-je utiliser? Est-ce mon email et mon mot de passe de compte GCP? c'est à dire. [email protected]:deluded_fool

[email protected] est le nom d'utilisateur et deluded_fool est le mot de passe.

J'ai essayé de définir les objets du seau pour être public lisible et bien sûr que l'appel http fonctionne ... mais je préférerais éviter de définir mes objets de seau sur le public lisible.

Voici une demande d'échantillon de courbure:

curl -X POST 

https://speech.googleapis.com/v1/speech:longrunningrecognize?key=<secret_api_key> -d @sample.json -H "Content-Type: application/json, Authorization:  Basic base64encodedusername:password" 

Voici un extrait de mon python code utilisant urlfetch:

url_post = urlfetch.fetch(url=speech_to_text_url_post, payload=json.dumps(data_to_post), method=urlfetch.POST, headers={"Content-Type" : "application/json", "Authorization" : "Basic "+encoded_user_password})
12
James Ching

Si vous souhaitez accorder un accès public, vous pouvez rendre les données publiques.

https://cloud.google.com/storage/docs/access-control/making-Data-Public

Mais Le meilleur moyen est générer des URL signées , de cette façon que vous pouvez accorder limiter l'accès à un objet.

https://cloud.google.com/storage/docs/access-control/signed-urls

0
João Krabbe