Google Reader có API không và nếu có, làm cách nào tôi có thể đếm số lượng bài đăng chưa đọc cho một người dùng cụ thể biết tên người dùng và mật khẩu của họ?Google Reader API chưa đọc Count
Trả lời
URL này sẽ cung cấp cho bạn số lượng bài đăng chưa đọc trên mỗi nguồn cấp dữ liệu. Sau đó, bạn có thể lặp qua các nguồn cấp dữ liệu và tổng hợp số lượng.
http://www.google.com/reader/api/0/unread-count?all=true
Dưới đây là một ví dụ nhỏ gọn bằng Python ... phân tích cú pháp xml/json và cách tổng hợp các tội là trái như một bài tập cho người đọc:
import urllib
import urllib2
username = '[email protected]'
password = '******'
# Authenticate to obtain SID
auth_url = 'https://www.google.com/accounts/ClientLogin'
auth_req_data = urllib.urlencode({'Email': username,
'Passwd': password,
'service': 'reader'})
auth_req = urllib2.Request(auth_url, data=auth_req_data)
auth_resp = urllib2.urlopen(auth_req)
auth_resp_content = auth_resp.read()
auth_resp_dict = dict(x.split('=') for x in auth_resp_content.split('\n') if x)
auth_token = auth_resp_dict["Auth"]
# Create a cookie in the header using the SID
header = {}
header['Authorization'] = 'GoogleLogin auth=%s' % auth_token
reader_base_url = 'http://www.google.com/reader/api/0/unread-count?%s'
reader_req_data = urllib.urlencode({'all': 'true',
'output': 'xml'})
reader_url = reader_base_url % (reader_req_data)
reader_req = urllib2.Request(reader_url, None, header)
reader_resp = urllib2.urlopen(reader_req)
reader_resp_content = reader_resp.read()
print reader_resp_content
Và một số liên kết bổ sung trên chủ đề:
Nói chung - kể từ khi các thay đổi được thực hiện cho API Google Reader vào tháng 6, ví dụ này không còn hoạt động ... – Joe
Hiện tại, ngày 9 tháng 8 năm 2010, điều này không còn hoạt động nữa. –
Cố định ví dụ này. Nhờ livibetter - Tôi đã đọc lên trên SID -> Auth thay đổi, nhưng không thấy phần 'dịch vụ': 'người đọc' được ghi lại ở bất cứ đâu. – jimmyorr
Đây là there. Vẫn còn trong Beta mặc dù.
Câu hỏi này trả lời câu hỏi khi được hỏi. Nếu có một số lý do tại sao các tác giả câu hỏi không tìm thấy nó đủ, có lẽ anh ta nên chỉnh sửa câu hỏi của mình để làm rõ. – EBGreen
Rất nhiều thông tin trên trang web đó đã lỗi thời. –
Nhiều như tôi muốn, đây không phải là api chính thức của Google Reader. Nó chỉ là dự đoán đảo ngược thiết kế có thể phá vỡ bất cứ lúc nào. – drozzy
Trong API posted in [1], lĩnh vực "token" cần được "T"
Đây không phải là một bài báo khoa học. Bạn có thể đặt liên kết [1] nội tuyến! :-) – drozzy
@ drozzy Tôi đang làm việc theo giả định bạn không nói đùa.Tất cả Yassin đã bỏ lỡ một tràng đại tràng. Dấu hai chấm ngay sau dấu chấm thứ hai phù hợp với cú pháp đánh dấu và làm cho nó trở thành một liên kết nội dòng. Điều này có thể nhanh hơn, không cần nhấp chuột, sau đó sử dụng giao diện gui được cung cấp. – Davorak
Xin lỗi, không biết điều gì đã xảy ra với tôi. – drozzy
Dưới đây là một bản cập nhật để this answer
import urllib
import urllib2
username = '[email protected]'
password = '******'
# Authenticate to obtain Auth
auth_url = 'https://www.google.com/accounts/ClientLogin'
#auth_req_data = urllib.urlencode({'Email': username,
# 'Passwd': password})
auth_req_data = urllib.urlencode({'Email': username,
'Passwd': password,
'service': 'reader'})
auth_req = urllib2.Request(auth_url, data=auth_req_data)
auth_resp = urllib2.urlopen(auth_req)
auth_resp_content = auth_resp.read()
auth_resp_dict = dict(x.split('=') for x in auth_resp_content.split('\n') if x)
# SID = auth_resp_dict["SID"]
AUTH = auth_resp_dict["Auth"]
# Create a cookie in the header using the Auth
header = {}
#header['Cookie'] = 'Name=SID;SID=%s;Domain=.google.com;Path=/;Expires=160000000000' % SID
header['Authorization'] = 'GoogleLogin auth=%s' % AUTH
reader_base_url = 'http://www.google.com/reader/api/0/unread-count?%s'
reader_req_data = urllib.urlencode({'all': 'true',
'output': 'xml'})
reader_url = reader_base_url % (reader_req_data)
reader_req = urllib2.Request(reader_url, None, header)
reader_resp = urllib2.urlopen(reader_req)
reader_resp_content = reader_resp.read()
print reader_resp_content
Google Reader đã xóa xác thực SID vào khoảng tháng 6 năm 2010 (tôi nghĩ), bằng cách sử dụng Auth mới từ ClientLogin là cách mới và đơn giản hơn một chút (tiêu đề ngắn hơn) . Bạn sẽ phải thêm service
vào dữ liệu để yêu cầu Auth
, tôi nhận thấy không có Auth
trả lại nếu bạn không gửi service=reader
.
Bạn có thể đọc thêm về thay đổi phương thức xác thực trong this thread.
- 1. Google Reader Api đánh dấu tất cả các mục Như đọc
- 2. Bắt đầu từ đâu với Google Reader làm API?
- 3. Sự cố xác thực của Google Reader
- 4. Google Maps API: Loại lỗi chưa gặp: Không thể đọc thuộc '__e3_' không xác định
- 5. Làm nổi bật tab được ghim Google Chrome chưa đọc
- 6. [iPhone - iOS] Cần API QRCode Reader cho iPhone
- 7. Caching Issue with PDF Reader
- 8. Cách đọc sự kiện từ API Google Analytics?
- 9. Feedparser - truy xuất thư cũ từ Google Reader
- 10. API Google Maps v3 BrowserIsCompatible
- 11. help with reader monad
- 12. Gedcom Reader cho C#
- 13. Tìm kiếm thay thế cho đồng bộ hóa Google Reader cho ứng dụng RSS
- 14. sử dụng gem chưa đọc với public_activity
- 15. Tại sao 'gapi.client' từ Google Plus Api chưa được xác định?
- 16. Android - Bảng tính Google Api
- 17. gọi google Url Shortner API trong C#
- 18. Google Geocoding API - REQUEST_DENIED
- 19. Google hình ảnh api
- 20. API Google Latitude
- 21. Google Mirror API Video
- 22. API Google Drive javascript
- 23. Ảnh trên Google+ api
- 24. Google API cho Python
- 25. Đăng nhập Google API
- 26. google-files-api
- 27. API Google Documents với Python
- 28. Nhận số lượng tin nhắn chưa đọc
- 29. Kết quả chưa đọc MySQL với Python
- 30. chưa đọc một tệp trong C++
@GateKiller: Tôi hiểu động lực cho việc ném thẻ "yêu cầu mã" lên điều này ... Tôi cũng có tiền thưởng mở về câu hỏi mà câu trả lời duy nhất là liên kết đến tài liệu API (bị hỏng) và kích thích tôi rằng tôi sẽ kết thúc trả 300 đại diện cho một người chỉ cần Google từ khóa của tôi. – Shog9
Tuy nhiên, thẻ không phục vụ bất kỳ mục đích nào. Thay vào đó, bạn nên thêm ghi chú vào câu hỏi thực tế của mình cho biết bạn muốn đánh giá cao mã mẫu. – Shog9