Tôi muốn bắt đầu bằng cách lặp lại ý kiến của bạn rằng Tài liệu thực sự kém. Nhưng, đây là những gì tôi đã có thể tìm ra cho đến nay.
đăng Công
Nó là rất quan trọng là bảng tính của bạn được "xuất bản lên web" như trái ngược với chỉ là "Công khai trên web." Đầu tiên là đạt được bằng cách vào mục "File -> Publish to The Web ...". Thứ hai là đạt được bằng cách nhấp vào nút "Chia sẻ" ở góc trên bên trái của bảng tính.
Tôi đã kiểm tra và bảng tính của bạn có khóa = '0Atncguwd4yTedEx3Nzd2aUZyNmVmZGRHY3Nmb3I2ZXc' chỉ là "Công khai trên web". Tôi đã tạo một bản sao của nó để chơi với mã ví dụ của tôi. Bản sao của tôi có khóa = '0Aip8Kl9b7wdidFBzRGpEZkhoUlVPaEg2X0F2YWtwYkE' mà bạn sẽ thấy trong mã mẫu của tôi sau này.
Điều này "Công khai trên web" so với "Xuất bản trên Web" vô nghĩa rõ ràng là một điểm của sự nhầm lẫn phổ biến. Nó thực sự được ghi lại trong một hộp màu đỏ trong các phần "Visibilities and Projections" của tài liệu API chính. Tuy nhiên, thật khó để đọc tài liệu đó.
Tầm nhìn và Dự
Như rằng cùng một tài liệu cho biết, có những dự báo không phải là "đầy đủ." Và trên thực tế (không có giấy tờ), "đầy đủ" dường như không chơi độc đáo với khả năng hiển thị "công khai" cũng rất quan trọng để đặt khi thực hiện cuộc gọi chưa được xác thực.
Bạn có thể thu thập dữ liệu từ pydocs mà nhiều phương pháp trong đối tượng SpreadsheetsService có thể lấy thông số "hiển thị" và "chiếu". Tôi chỉ biết sự công bằng "công khai" và "riêng tư". Nếu bạn học về bất kỳ người nào khác, tôi cũng muốn biết về họ. Có vẻ như "công khai" là những gì bạn nên sử dụng khi thực hiện cuộc gọi chưa được xác thực.
Đối với Projections, nó thậm chí còn phức tạp hơn. Tôi biết dự đoán "đầy đủ", "cơ bản" và "giá trị". Tôi chỉ có may mắn và tìm thấy phép chiếu "giá trị" bằng cách đọc mã nguồn tới thư viện JavaScript tuyệt vời Tabletop. Và, đoán xem, đó là bí mật thiếu thành phần để làm cho mọi thứ hoạt động.
Mã Working
Dưới đây là một số mã, bạn có thể sử dụng để truy vấn bảng từ bản sao của bảng tính của bạn.
#!/usr/bin/python
from gdata.spreadsheet.service import SpreadsheetsService
key = '0Aip8Kl9b7wdidFBzRGpEZkhoUlVPaEg2X0F2YWtwYkE'
client = SpreadsheetsService()
feed = client.GetWorksheetsFeed(key, visibility='public', projection='basic')
for sheet in feed.entry:
print sheet.title.text
Mẹo ** ** tôi thấy nó thực sự hữu ích khi làm việc với các API trăn khủng khiếp tài liệu để sử dụng phương pháp dir() trong một thông dịch chạy python để tìm hiểu thêm về các loại thông tin tôi có thể nhận được từ trăn các đối tượng. Trong trường hợp này, nó không giúp quá nhiều bởi vì sự trừu tượng hóa trên XML và API dựa trên URL khá kém.
Nhân tiện, tôi chắc chắn bạn sẽ muốn bắt đầu xử lý dữ liệu thực tế trong bảng tính, vì vậy tôi sẽ tiếp tục và thêm một con trỏ nữa. Dữ liệu cho mỗi hàng được tổ chức dưới dạng từ điển có thể được tìm thấy bằng cách sử dụng GetListFeed (key, sheet_key, visibility = 'public', projection = 'values'). [0] .custom
Richard không chắc chắn nếu điều này sẽ giúp bạn, nhưng bạn có thể xuất bảng tính dưới dạng Excel và sử dụng xlrd (http://pypi.python.org/pypi/xlrd) để đọc dữ liệu. –
Cảm ơn! Tôi muốn sử dụng gdata, nhưng tài liệu hướng dẫn là không đúng, không ai biết cách sử dụng nó ... – Richard