Liste google drive-Dateien mit curl
Ich versuche, die Liste der Dateien auf Google Drive mit curl, aber OAuth 2 ist immer das beste von mir.
Hier sind einige der Dinge habe ich versucht:
curl -H "Authorization: Bearer $token" https://www.googleapis.com/drive/v2/files
Wobei $token ist ein 460 Zeichenkette bekam ich mit:
https://www.google.com/accounts/ClientLogin
und diese hochladen Skript (die funktioniert Super). Dies ist die Fehlermeldung, die ich erhielt:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "authError",
"message": "Invalid Credentials",
"locationType": "header",
"location": "Authorization"
}
],
"code": 401,
"message": "Invalid Credentials"
}
}
Habe auch versucht:
curl https://www.googleapis.com/drive/v2/files?key=apiKey
Fehler:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "required",
"message": "Login Required",
"locationType": "header",
"location": "Authorization"
}
],
"code": 401,
"message": "Login Required"
}
}
Und:
curl -H "Authorization: GoogleLogin auth=${token}" "https://www.googleapis.com/drive/v2/files"
Fehler:
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "dailyLimitExceededUnreg",
"message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup.",
"extendedHelp": "https://code.google.com/apis/console"
}
],
"code": 403,
"message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup."
}
}
Ich hatte wenig Erfolg mit den beiden JavaScript-und PHP-client-Bibliotheken scheinen sich beide optimiert für die situation, in denen der user log/pass, um zu autorisieren app. Was ich brauche ist ein Weg, um die Liste der Dateien, die von einem einzigen account aus, zu jeder Zeit.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verbrachte ich nur 30 Minuten, um dies herauszufinden, selbst für den Zugriff auf die Kontakte-API und umgestrickt die Schritte für die drive API und dokumentieren Sie Sie für zukünftige Referenz. Es gibt 5 Schritte-und die ersten 4 sind eine Zeit-setup.
Schritt 1: Erstellen Sie neue OAuth2 Anmeldeinformationen
Notieren Sie sich die
client ID
undclient secret
.Schritt 2: Antrag auf Genehmigung mit Laufwerk als Rahmen.
Mithilfe der
client ID
undhttps://docs.google.com/feeds
alsscope
konstruieren Sie die unten curl-Befehl:Kopieren Sie die
user_code
.Schritt 3: die Anfrage Autorisieren.
Besuchen Sie die Verifizierungs-URL https://www.google.com/device und geben Sie den kopierten code ein.
Schritt 4: Erhalten
access_token
.Fügen Sie die
device_code
aus den erhaltenen auth Anfrage an denclient ID
undclient secret
und zu konstruieren, die unter den curl-Befehl:Haben wir jetzt die erforderliche
access_token
, speichern Sie es und verwenden Sie es mit allen drive-REST-API-Anfragen.Schritt 5: Drive-API-Anfrage.
access_token
s, wenn Sie ablaufen. Keine Hilfe auf?Für zukünftige Googler:
Wenn Sie möchten, sparen Sie sich einen Nachmittag der Schmerz, vergessen, google-doumentation und den Kopf über hier
Den Kern von ihm, da ich weiß, stackoverflow, bevorzugt unter Angabe der Inhalte zu verknüpfen:
Erste, erhalten Sie Ihre client-ID in der Google Developer Console für OAuth2. Dies erfordert füllen Sie die OAuth-Genehmigung Bildschirm und nach dem Test, haben Sie, um Ihre domain verifiziert. (Google wird führen Sie in den Prozess...)
In Ihrem browser:
Erlauben Sie den Zugriff, natürlich, und kopieren Sie den code sollte so Aussehen 4/v6xr77ewYqjkslsdUOKwAzu
Erhalten Sie ein JSON-Beispiel:
Wenn Sie curl:
erhalten Sie so etwas wie:
Getan
Erneuerung der token
Müssen Sie die "refresh_token" erhielt zuvor
bekommst du einen neuen access_token.