mirror of
https://github.com/samsonjs/instapaper.git
synced 2026-03-25 08:55:49 +00:00
126 lines
2.6 KiB
Markdown
126 lines
2.6 KiB
Markdown
Instapaper
|
|
=========
|
|
Instapaper is a ruby wrapper for interacting with [Instapaper's Full Developer API](http://www.instapaper.com/api/full). Note that access to the Full API is restricted to Instapaper subscribers only.
|
|
|
|
Installation
|
|
------------
|
|
gem install instapaper
|
|
|
|
Usage
|
|
-----
|
|
|
|
Instapaper offers full support for all methods exposed through the Full API.
|
|
|
|
Configuration
|
|
-------------
|
|
|
|
Retrieve a list of bookmarks:
|
|
```ruby
|
|
Instapaper.bookmarks
|
|
```
|
|
|
|
Add a new bookmark:
|
|
```ruby
|
|
Instapaper.add_bookmark('http://someurl.com', :title => 'This is the title', :description => 'This is the description')
|
|
```
|
|
|
|
Remove a bookmark:
|
|
```ruby
|
|
Instapaper.delete_bookmark(bookmark_id)
|
|
```
|
|
|
|
Update read progress:
|
|
```ruby
|
|
Instapaper.update_read_progress(bookmark_id, 0.5)
|
|
```
|
|
|
|
Star/Un-star a bookmark:
|
|
```ruby
|
|
Instapaper.star(bookmark_id)
|
|
Instapaper.unstar(bookmark_id)
|
|
```
|
|
|
|
Archive/Un-archive a bookmark:
|
|
```ruby
|
|
Instapaper.archive(bookmark_id)
|
|
Instapaper.unarchive(bookmark_id)
|
|
```
|
|
|
|
Move a bookmark to a folder:
|
|
```ruby
|
|
Instapaper.move(bookmark_id, folder_id)
|
|
```
|
|
|
|
Obtain the text of a bookmark:
|
|
```ruby
|
|
Instapaper.text(bookmark_id)
|
|
```
|
|
|
|
Bookmark Operations
|
|
-------------------
|
|
|
|
Folder Operations
|
|
-----------------
|
|
|
|
To obtain the list of folders:
|
|
```ruby
|
|
Instapaper.folders
|
|
```
|
|
|
|
You can add by passing a name:
|
|
```ruby
|
|
Instapaper.add_folder('eventmachine')
|
|
```
|
|
|
|
And remove folders by referencing a folder by it's id.
|
|
```ruby
|
|
Instapaper.delete_folder(folder_id)
|
|
```
|
|
|
|
Lastly, the folders can be reordered by
|
|
|
|
|
|
Other Operations
|
|
----------------
|
|
|
|
To obtain an access token via xAuth:
|
|
```ruby
|
|
Instapaper.access_token(username, password)
|
|
```
|
|
|
|
You can also verify credentials once you have received tokens:
|
|
```ruby
|
|
Instapaper.verify_credentials
|
|
```
|
|
|
|
Restrictions
|
|
------------
|
|
|
|
Users without an Instapaper Subscription may only invoke the following calls:
|
|
```ruby
|
|
Instapaper.access_token
|
|
Instapaper.verify_credentials
|
|
Instapaper.add_bookmark
|
|
Instapaper.folders
|
|
```
|
|
|
|
Documentation
|
|
-------------
|
|
|
|
[http://rdoc.info/gems/instapaper](http://rdoc.info/gems/instapaper)
|
|
|
|
Note on Patches/Pull Requests
|
|
-----------------------------
|
|
|
|
* Fork the project.
|
|
* Make your feature addition or bug fix.
|
|
* Add tests for it. This is important so I don't break it in a
|
|
future version unintentionally.
|
|
* Commit, do not mess with rakefile, version, or history.
|
|
(if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
|
|
* Send me a pull request. Bonus points for topic branches.
|
|
|
|
Copyright
|
|
---------
|
|
|
|
Copyright (c) 2011 Steve Agalloco. See [LICENSE](https://github.com/spagalloco/instapaper/blob/master/LICENSE.md) for details.
|