Friday, June 15, 2007

Reader API

The Reader API will be modeled after http://code.google.com/p/pyrfeed/wiki/GoogleReaderAPI

All calls are relative to http://www.asterbox.com/reader/

index.php?fuseaction=logout
parameters: none
description: end the user's session

index.php?fuseaction=sublist
parameters: output=xml/json
description: retrieve the user's subscription list
notes: pass in the user's email and password if there is no session ID (SID)

index.php?fuseaction=feedlist
more info at http://code.google.com/p/pyrfeed/wiki/GoogleReaderAPI

Query for an atom set of items. Sets include feed, label, and state.

States include:
read - A read item will have the state read
kept-unread - Once you've clicked on "keep unread", an item will have the state kept-unread
fresh - When a new item of one of your feeds arrive, it's labeled as fresh. When (need to find what remove fresh label), the fresh label disappear.
starred - When your mark an item with a star, you set it's starred state
broadcast - When your mark an item as being public, you set it's broadcast state
reading-list - All you items are flagged with the reading-list state. To see all your items, just ask for items in the state reading-list
tracking-body-link-used - Set if you ever clicked on a link in the description of the item.
tracking-emailed - Set if you ever emailed the item to someone.
tracking-item-link-used - Set if you ever clicked on a link in the description of the item.
tracking-kept-unread - Set if you ever mark your read item as unread.

The following query modifiers can be used
n - Number of items returns in a set of items (default 20)
client - The default client name
r - By default, items starts now, and go back time. You can change that by specifying this key to the value o (default value is d)
ot - The time (unix time, number of seconds from January 1st, 1970 00:00 UTC) from which to start to get items. Only works for order r=o mode. If the time is older than one month ago, one month ago will be used instead.
ck - current time stamp, probably used as a quick hack to be sure that cache won't be triggered.
xt - another set of items suffix, to be excluded from the query. For exemple, you can query all items from a feed that are not flagged as read. This value start with feed/ or user/, not with !http:// or www
c - a string used for continuation process. Each feed return not all items, but only a certain number of items. You'll find in the atom feed (under the name gr:continuation) a string called continuation. Just add that string as argument for this parameter, and you'll retrieve next items.

Example :
All the 17 first items items from xkcd.com main feed that are not read can be found on the url :
http://www.google.com/reader/atom/feed/http://xkcd.com/rss.xml?n=17&ck=1169900000&xt=user/-/state/com.google/read

image.php
parameters: img_url - the url of the image to be converted, starting with http://
img_max_w - the maximum width of the converted image, in pixels
img_max_h - the maximum height of the converted image, in pixels
img_out_format - JPEG, PNG, or GIF

Sunday, June 10, 2007

Eclipse Error Preverifying Class

I kept getting an error in Eclipse: Error Preverifying Class in JSONArray.java. Sun's website (http://java.sun.com/products/sjwtoolkit/FAQ.html) revealed some useful info regarding the class libraries used in projects:

"If you get this error, you are probably using a class library that was written for Java 2 Platform, Standard Edition (J2SE™ platform). This toolkit supports the development of MIDP applications, which have limited capabilities compared to their J2SE counterparts."

Turns out Eclipse was configured to use an older preverifier and was unaware of java.io.Writer. To fix this, I went to Window > Preferences > J2ME > Preverification > Use specific configuration > Connected Limited Device Configuration (1.1).