2017-11-07 2 views
0

Ich versuche mit der Google Cloud Storage JSON-API eine fortsetzbare Sitzungs-URI zu generieren. Im Anschluss an den docs habe ich zusammen den folgenden curl Befehl nur die erforderlichen ArgumenteFortsetzbare UI-Anfrage für UI-Upload-Sitzung mit Google Cloud Storage

curl \ 
-X POST \ 
-H "Content-Length: 1000000" \ 
-d "uploadType=resumable&name=cat.jpg" \ 
https://www.googleapis.com/upload/storage/v1/b/my-bucket/o 

jedoch gerecht zu werden, dieses Mal aus und der Server antwortet nie. Beachten Sie, dass Content-Type nur erforderlich ist, wenn auch die Dateimetadaten gesendet werden. Ich habe versucht, auch die Metadaten und die zugehörigen Daten hinzuzufügen, aber das scheitert auch.

In der Beispielanforderung in der Dokumentation gibt es einen Authorization: Bearer [YOUR_AUTH_TOKEN] Header, der in den Schritten nicht erwähnt wird. Ich habe auch versucht, dies zu addieren, mit der API-Taste der App, aber dies auch aus.

Die ACL im Bucket wurde für alle Benutzer schreibbar festgelegt. CORS ist nicht konfiguriert.

Kann jemand darauf hinweisen, wo ich falsch liege?

Die Locke ausführliche Ausgabe ist

* Hostname was NOT found in DNS cache 
* Trying 216.58.208.138... 
* Connected to www.googleapis.com (216.58.208.138) port 443 (#0) 
* successfully set certificate verify locations: 
* CAfile: none 
    CApath: /etc/ssl/certs 
* SSLv3, TLS handshake, Client hello (1): 
* SSLv3, TLS handshake, Server hello (2): 
* SSLv3, TLS handshake, CERT (11): 
* SSLv3, TLS handshake, Server key exchange (12): 
* SSLv3, TLS handshake, Server finished (14): 
* SSLv3, TLS handshake, Client key exchange (16): 
* SSLv3, TLS change cipher, Client hello (1): 
* SSLv3, TLS handshake, Finished (20): 
* SSLv3, TLS change cipher, Client hello (1): 
* SSLv3, TLS handshake, Finished (20): 
* SSL connection using ECDHE-ECDSA-AES128-GCM-SHA256 
* Server certificate: 
* subject: C=US; ST=California; L=Mountain View; O=Google Inc; CN=*.googleapis.com 
* start date: 2017-10-24 08:38:00 GMT 
* expire date: 2017-12-29 00:00:00 GMT 
* subjectAltName: www.googleapis.com matched 
* issuer: C=US; O=Google Inc; CN=Google Internet Authority G2 
* SSL certificate verify ok. 
> POST /upload/storage/v1/b/aits-resumables-test/o HTTP/1.1 
> User-Agent: curl/7.35.0 
> Host: www.googleapis.com 
> Accept: */* 
> Content-Length: 1000000 
> Content-Type: application/json; charset=UTF-8 
> 
* upload completely sent off: 33 out of 33 bytes 

Antwort

1

So, jetzt diese Arbeit habe ich. Ich fügte den Objektnamen im JSON-Textkörper hinzu und fügte dann die uploadType=resumable direkt zur URL hinzu, so dass sie wie folgt aussieht:

curl \ 
-X POST \ 
-H "Content-Type: application/json; charset=UTF-8" \ 
-H "X-Upload-Content-Type: image/jpeg" \ 
-H "X-Upload-Content-Length: 2000000" \ 
-d '{"name": "cat.jpg"}' \ 
https://www.googleapis.com/upload/storage/v1/b/my-bucket/o?uploadType=resumable 
Verwandte Themen