2012-04-07 23 views
5

Google Doküman API'sını kullanarak, Google Dokümanlarımdaki belirli bir klasördeki tüm geçerli belgelerin listesini sağlamanın yanı sıra yeni dokümanlar oluşturmaya çalışıyorum. Python geliştirme ile başlıyorum, bu yüzden hala kenarlarda biraz kaba.Python ile Google Dokümanlar API'sı

şeyler yapmak çalışıyorum:

  1. adıyla bir koleksiyon (veya klasörü) oluşturun [Klasör Adı] o adı henüz
  2. içinde bir belge oluştur yoksa YALNIZCA [Klasör Adı] sadece itibaren
  3. [Klasör Adı] Ben Google Dokümanlar AP kullanıyorum inanıyoruz Dokümanları

kendilerini bağlantılarla birlikte belgelerin bir listesini almak I 3.0 ve python için gdata-2.0.16 yardımcı programını kullanıyorum. Bugüne kadar

Kodu:

 

    import gdata.docs.data 
    import gdata.docs.client 

    class SampleConfig(object): 
     APP_NAME = 'GDataDocumentsListAPISample-v1.0' 
     DEBUG = False 

    client = gdata.docs.client.DocsClient() 
    client.ClientLogin('[email_address]','[password]',source=SampleConfig.APP_NAME) 

    col = gdata.docs.data.Resource(type='folder', title='Folder Name') 
    col = client.CreateResource(col) 

    doc = gdata.docs.data.Resource(type='document', title='I did this') 
    doc = client.CreateResource(doc, collection=col) 

Demek ki artık sorulara: Ben umutsuzca şaşırıp: [Klasör adı] varsa ben de nasıl kontrol ederim

  1. ?
  2. YALNIZCA [Klasör Adı] içeriği nasıl alınır?
  3. Bu klasörde oluşturduğum tüm belgelere tam olarak nasıl ulaşabilirim?

Burada tamamlanamayacağımı biliyorum, ancak verebileceğin herhangi bir yardım ya da tavsiye harika olurdu.

Şimdiden teşekkürler!

cevap

3

You can query for a folder or document. Klasörü aldıktan sonra içeriğini listeleyebilirsiniz.

# Create a query matching exactly a title, and include collections 
q = gdata.docs.client.DocsQuery(
    title='EFD', 
    title_exact='true', 
    show_collections='true' 
) 

# Execute the query and get the first entry (if there are name clashes with 
# other folders or files, you will have to handle this). 
folder = client.GetResources(q=q).entry[0] 

# Get the resources in the folder 
contents = client.GetResources(uri=folder.content.src) 

# Print out the title and the absolute link 
for entry in contents.entry: 
    print entry.title.text, entry.GetSelfLink().href 

Çıktı Yanıtınızda ayrıntılar için

My posted doc https://docs.google.com/... 
subtestcoll2 https://docs.google.com/... 
guestimates_1 https://docs.google.com/... 
phase 2 delivery plan - draft https://docs.google.com/... 
Meeting agenda June 09 https://docs.google.com/... 
Phase 2 spec for Graeme 2 March 2009 https://docs.google.com/... 
EFD Meeting 2nd June https://docs.google.com/... 
+0

Teşekkür: Burada Python kütüphanesi ile bir örnektir. Gerçekten takdir et ve sanırım benim örneğine göre benimkini çalışmaya başlıyorum. Ancak entry.GetSelfLink(). Href bana şu formatta bir link veriyor: https: //docs.google.com/feeds/default/private/full/folder% .... Hangi tarayıcıda kullanıldığında ben "Geçersiz istek URI" – user791793

İlgili konular