Web Action URL APIs
This article is a stub. You can help the IndieWeb wiki by expanding it.
web action URL APIs (AKA web action handlers) are URLs that act as APIs to handle web actions from another site.
Web-based actions are invariably http://
URLs, whereas native actions (well-known and custom) often utilise other URI schemes. These vary from the well known (e.g. mailto:
) to custom schemes, e.g twitter://
.
On sending a GET request to an Action endpoint, the typical result is to display an interface for carrying out the relevant action, optionally preloaded with text provided in query string parameters.
A list of web (and native) services currently providing URLs which could be made the basis of a Web Actions implementation.
Web
IndieWeb Support
Aaron Parecki
Aaron Parecki has a URL endpoint for posting new notes/replies which he forces twitter to use for him as demonstrated here.
- A particularly interesting aspect of this implementation is that the only query string parameter is in_reply_to URL, and it looks like he's parsing twitter usernames out of that server side
Barnaby Walters
Barnaby Walters has a URL API for creating new notes, which accepts several query string params, inReplyTo
, text
and tags
- I have plans to add more, and more dynamic functionality (e.g. loading text from h-entry markup of an inReplyTo URL so I can quote it really easily) --Waterpigs.co.uk 11:30, 2 March 2013 (PST)
Jeremy Keith
Jeremy Keith has a bookmarklet-invoked URL API for adding links to his link blog
any WordPress user
Anyone using WordPress since 2.7 (?) can use the Press This endpoint and u/t/s/i query params to pre-fill a βnew postβ form
Silo Endpoints
tt-rss
tt-rss installs have a URL API for subscribing to a new feed:
Twitter's Web Intents are URLs which link to an interface for Twitter's Activities:
- Tweet Activities
- Tweet
- Retweet
- Favorite
- User Activities
- Follow
Readability
Readability want you to use their embed thing but they provide an excellent URL API
Endpoints:
- Read Article:
http://readability.com/read?url=urlencoded_url_of_page
- Read Later:
http://www.readability.com/save?url=urlencoded_url_of_page
(handles auth really well) - Print doesn't look like it's supported through a GET-only URL API
Kindle
Can someone with a kindle see if the send to kindle action can be used via a URL API?
Facebook provides little-documented (and therefore potentially unstable) URL APIs. They generally need a key in order to be used.
Endpoints:
- Share: this one requires no key and can be used to post to your timeline, someone else's or send someone a recommendation:
https://www.facebook.com/sharer/sharer.php?u={url}
- Post to your Wall: the best to use if you require a redirect after posting
https://www.facebook.com/dialog/feed?app_id={key}&caption={caption}&description={description}&link={url}&redirect_uri={url}
- Like: Looking at the source for the like button it seems to be a POST request to
http://somefacebookURL/plugins/like/connect
--Waterpigs.co.uk 02:45, 20 September 2012 (PDT)
Open Source Implementations
- Storytlr provides a URL API on itβs posting UI. The post Title, Body and URL to use can be set using the
t
,s
andu
query parameters.
URL APIs To Review
- β¦ add here
Mac OS
Mac apps can register with the OS to handle custom URL schemes (e.g. twitter://), which activate the app, optionally in a certain context (e.g. new tweet with text)
- Twitter's Mac app registers the
twitter://
URI scheme and exposes the following endpoints:twitter://post?message=urlencoded+text+of+tweet
twitter://user?screen_name=twitter_screen_name
iOS
iOS is an interesting case, as not only can apps register custom URL schemes (as on Mac OS), there are several built in handlers for fully-qualified URLs, e.g. youtube URLs and Google Maps URLs.
- These apps no longer exist on iOS 6, do the URLs still work? --Waterpigs.co.uk 02:01, 20 September 2012 (PDT)
- A great many are documented here: [1]
- As on Mac, Twitter's iOS app registers the
twitter://
URI scheme and exposes the following endpoints:twitter://post?message=urlencoded+text+of+tweet
twitter://user?screen_name=twitter_screen_name
- Apparently most of the old Tweetie endpoints also work
- Most Twitter clients offer similar endpoints, but Tweetbot have done a particularly good job of documenting theirs - note the callback URL parameter!