/
google-reader-api.txt
163 lines (106 loc) · 7.19 KB
/
google-reader-api.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
# Google Reader API
http://code.google.com/p/pyrfeed/wiki/GoogleReaderAPI
http://code.google.com/p/google-reader-api/
http://code.google.com/p/google-reader-api/w/list
http://code.google.com/p/google-reader-api/wiki/Authentication
http://www.niallkennedy.com/blog/2005/12/google-reader-api.html
http://mindsharestrategy.com/2010/google-reader-api-a-brief-tutorial/
http://code.google.com/p/pyrfeed/wiki/GoogleReaderAPI
http://blog.martindoms.com/2009/08/15/using-the-google-reader-api-part-1/
http://blog.martindoms.com/2009/10/16/using-the-google-reader-api-part-2/
http://blog.martindoms.com/2010/01/20/using-the-google-reader-api-part-3/
http://christianheilmann.com/category/google/
https://groups.google.com/forum/#!forum/fougrapi
## friends
YAY found the friend API here
http://mobile.tutsplus.com/tutorials/mobile-web-apps/building-a-mobile-web-application-with-the-google-reader-api/
https://groups.google.com/forum/#!topic/fougrapi/ukPcqr6Ja9M
FOLLOWER(0), // this person is following the user
FOLLOWING(1), // the user is following this person
CONTACT(3), // this person is in the user's contacts list
PENDING_FOLLOWING(4), // the user is attempting to follow this person
PENDING_FOLLOWER(5), // this person is attempting to follow this user
ALLOWED_FOLLOWING(6), // the user is allowed to follow this person
ALLOWED_COMMENTING(7); // the user is allowed to comment on this
person's shared items
The "attempting"/"allowed" states are for when not sharing publicly
(only with certain contact groups).
The flags value is a bitfield, the bit meanings are as follow:
IS_ME(0), // represents the current user
IS_HIDDEN(1), // current user has hidden this person from the list of
people with shared items that show up
IS_NEW(2), // this person is a recent addition to the user's list of
people that they follow
USES_READER(3), // this person uses reader
IS_BLOCKED(4), // the user has blocked this person
HAS_PROFILE(5), // this person has created a Google Profile
IS_IGNORED(6), // this person has requested to follow the user, but
the use has ignored the request
IS_NEW_FOLLOWER(7), // this person has just begun to follow the user
IS_ANONYMOUS(8), // this person doesn't have a display name set
HAS_SHARED_ITEMS(9); // this person has shared items in reader
I believe the USES_READER and HAS_SHARED_ITEMS bits are not always
computed (since they involve per-person lookups). Let me know if you
need to use them, and I can look into how loading of them is
triggered.
Mihai
https://groups.google.com/forum/#!topic/fougrapi/hHDH8W5YVSw
# ruby greader library
https://github.com/aurelian/grapi
https://github.com/aurelian/grapi/blob/master/lib/grapi/reader.rb
-- uses username/password
-- very incomplete -- seems like a one-day hack
# OAuth
http://code.google.com/apis/accounts/docs/OAuth.html
http://code.google.com/p/google-reader-api/w/list
https://groups.google.com/forum/#!topic/fougrapi/RDDJpt6k1w8
https://accounts.google.com/UpdateDomain
OAuth (preferred)
OAuth is the preferred authentication mechanism for both web and installed apps. Using the scope https://www.google.com/reader/api/ obtain a request token, authorize it, exchange it for an access token, and make requests as usual, passing in the OAuth token in the Authorization: HTTP header. You may find the OAuth Playground useful in experimenting with all this.
The https://www.google.com/reader/atom/ and https://www.google.com/reader/subscription/export scopes are supported as well for applications wish to use the Atom and OPML outputs. Additionally, HTTP versions of these HTTPS schemes are also available.
http://code.google.com/apis/youtube/2.0/developers_guide_protocol_oauth.html
registering domain with Google https://accounts.google.com/UpdateDomains
Target URL path prefix: This value enables Google to reject all authorization requests ostensibly from your domain that use an incorrect domain or prefix. If you're making an AuthSub request, this URL must be identical to the prefix value of the next parameter used in your authorization requests. For example, if your next values will be something like http://example.com/authsub and/or http://example.com/feed/authsub, your prefix should be http://example.com. If you're using the OAuth interface, this URL must match the value of the oauth_consumer_key parameter.
http://code.google.com/apis/accounts/docs/RegistrationForWebAppsAuto.html:
Note: If you're using OAuth with the HMAC-SHA1 signature method, you do not need to upload a certificate; instead, an OAuth "consumer secret" value is automatically generated when you register your domain.
If your application uses the HMAC-SHA1 signature algorithm, leave the certificate field blank when completing your registration. Google will generate an OAuth consumer secret value, which will display on your domain's registration page after you have completed the registration process. You will then use this value to sign requests.
## oauth in ruby
http://stakeventures.com/articles/2008/02/23/developing-oauth-clients-in-ruby
## sharing
"sharing (broadcast tag)"
apparently there are two tags "broadcast" and "broadcast-friends"
As far as unsharing goes, you can use an edit-tag request to remove
the broadcast tag as you would for any other item. We don't currently
support editing of the note once it's created.
There is also the concept of "notes" in Reader, which are standalone
items that originate purely within Reader (you can see the UI for them
at the top of Your Shared Items, Your Stuff, and People You Follow).
These have an origin stream of user/-/state/com.google/post. They can
also be deleted (in the UI they have a delete action) but I don't
remember off-hand the URL for that.
## send to
http://lifehacker.com/5339214/supercharge-google-reader-with-send-to-links
## misc
http://code.google.com/p/google-reader-api/wiki/ActionToken
To protect against XSRF attacks, all state-changing methods require an action token in addition to an authentication token. The token can be fetched by making a GET request for /reader/api/0/token and should be passed in to state-changing requests (generally POST requests) with the T parameter (see ApiCommonInputs).
RSS 2.0 spec
http://cyber.law.harvard.edu/rss/rss.html#ltsourcegtSubelementOfLtitemgt
http://activitystrea.ms/registry/verbs/
http://codeclimber.googlecode.com/svn-history/r101/GoogleReaderConnector/trunk/ReferenceUrls.txt
Get profile of user
http://www.google.com/reader/api/0/people/profile?u=14290265284323789574&output=json
Append the PhotoUrl to http://s2.googleusercontent.com to get the user's icon
Get Friend List
http://www.google.com/reader/api/0/friend/list?output=json
Get Recommended feeds:
http://www.google.com/reader/api/0/recommendation/list?n=6
Get ids of items (instead of all the list of items)
http://www.google.com/reader/api/0/stream/items/ids?s=user/-/state/com.google/reading-list&n=10000&xt=user/-/state/com.google/read
Also gets feed id
includeAllDirectStreamIds=true
Get Content of item
http://www.google.com/reader/api/0/stream/items/contents (with i=ids passed as data in POST + token T)
Mark all feed as read
http://www.google.com/reader/api/0/mark-all-as-read s=feed/[feedUrl] (POST)
Sort by "magic"
r=a solo su /items/ids