En son 10 fotoğrafı Google fotoğrafları'ndan indirmek için, quickstart'un ilk 2 adımını uygulayın, istemci kimliğini, istemci kimliğini ekleyin ve aşağıdaki kahve metnine yeniden yönlendirin ve çalıştırın.
Ben kullanıcı kendi google fotoğraflar bunun işe yaraması için sürücü google hesabını bağlamak için olduğunu düşünüyorum (npm install --global coffeescript
sonra coffee quickstart.coffee
çalıştırmak veya coffee -c quickstart.coffee
javascript derlemek). Genel olarak Reference (v3) ve google sürücüye ile çalışmak için
İpuçları: Eğer kimlik doğrulaması gerektiren API işlevlerini çağırdığınızda
auth
nesneyi unutma: service.files.list({auth:auth, other params here...},callback)
- unutursanız, bir Daily Limit for Unauthenticated Use Exceeded
hata verir
- her dosyanın birçok özelliği vardır, ancak Api'nin v3'ünde, kaynağın tüm alanlarını varsayılan olarak döndürmez. Böyle
fields
seçeneği üzerinden bunları belirtmek gerekir:
- Bir dosyayı indirmek istiyorsanız
service.files.get({auth:auth,fileId:"1y3....",fields:"mimeType, webContentLink, webViewLink, thumbnailLink"},callback)
, sen q
seçeneği ile dosyaları sorgulayabilir
- seçeneklerinde
alt:"media"
koydu. available serach parameters'a bakın. Aramaları and
, or
ve not
aracılığıyla birleştirip yuvalayabileceğinizi unutmayın. Google Drive'da gerçek "klasör" yoktur. Her dosya birden çok "ebeveyn" olabilir.
- ad kullanımı sorgu tarafından bir klasör almak için sorgu seçeneği
q:'mimeType = "application/vnd.google-apps.folder"'
- ile
service.files.list
arayarak tüm klasörlerin kimlikleri alabilirsiniz q:'name = "<name of folder>" and mimeType = "application/vnd.google-apps.folder"'
- Eğer
service.files.get({auth:auth, fileId:"root"},callback)
arayarak kök klasörün kimliği alabilir - ancak Eğer
- kök klasör çağrısında her şeyi listelemek için
bu id koymak nerede basitçe bir dosyanın kimliği varsa
service.files.list({auth:auth,q:'parents in "root"'},callback)
- , aradığınız dosyanın klasör (ler) alabilirsiniz
root
kullanabilirsiniz seçeneğiyle
- size bir sorgu seçeneği
q:'parents in "0B7..."'
ile service.files.list
arayarak bu klasörün dosyaları alabilirsiniz bir klasörün kimliğe sahip
- ile klasöründeki dosyaları listeleme (id
"..."
ihtiyacı olduğunu unutmayın) /one/two/three
yolu, three
klasörünün dosyalarının listelenmesiyle aynıdır - ancak önce bu klasörün kimliğine ihtiyacınız olacaktır.Eğer iteratif yolunu
fs = require('fs')
readline = require('readline')
google = require('googleapis')
googleAuth = require('google-auth-library')
SCOPES = [ 'https://www.googleapis.com/auth/drive' ] # scope for everything :D
TOKEN_PATH = './token.json'
CLIENT_SECRET = <your client secret here>
CLIENT_ID = <your client id here>
REDIRECT = <your redirect url here>
authorize = (callback) ->
auth = new googleAuth
oauth2Client = new auth.OAuth2(CLIENT_ID, CLIENT_SECRET,REDIRECT)
# Read the Token at ./token.json or get a new one
fs.readFile TOKEN_PATH, (err, token) ->
if err
getNewToken oauth2Client, callback
else
oauth2Client.credentials = JSON.parse(token)
callback oauth2Client
getNewToken = (oauth2Client, callback) ->
authUrl = oauth2Client.generateAuthUrl({access_type: 'offline', scope: SCOPES})
console.log 'Authorize this app by visiting this url: ', authUrl
rl = readline.createInterface({input: process.stdin,output: process.stdout})
rl.question 'Enter the code in the address bar without the "#"(?code=<code>#)', (code) ->
rl.close()
oauth2Client.getToken code, (err, token) ->
oauth2Client.credentials = token
fs.writeFile TOKEN_PATH, JSON.stringify(token) # store token for later
callback oauth2Client
authorize (auth)->
service = google.drive('v3')
# get ids of the 10 most recent photos
# every request needs the auth:auth
service.files.list {auth:auth,pageSize: 10,orderBy: 'createdTime desc',q:"mimeType = 'image/jpeg'"},(err,response)->
for file in response.files
dest = fs.createWriteStream(file.name)
# you have to add the alt:"media" option to get the file contents
# if you want a link to the file that can be used in an <img src=''> tag: add fields:"webContentLink"
service.files.get({auth:auth,fileId:file.id,alt:"media"}).pipe(dest)
[belgelere] bir göz atın (https://developers.google.com/picasa-web/docs/2.0/developers_guide_protocol yürürken bu kimliği alabilirsiniz #Fotoğraflar). – Robin