X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=doc%2Fapi.md;h=147c8b7513c8c980619b1dd13e3c2491979c90c0;hb=ce03ccc95cd125f805e7d8c74e992cf8215242dc;hp=f36a79a5eb3712629156681ee28aca0a2f09a2af;hpb=9c1ee29911e9196d8c78db2d38d9d497d3235e5b;p=friendica.git diff --git a/doc/api.md b/doc/api.md index f36a79a5eb..147c8b7513 100644 --- a/doc/api.md +++ b/doc/api.md @@ -1,4 +1,6 @@ -The friendica API aims to be compatible to the [StatusNet API](http://status.net/wiki/Twitter-compatible_API) which aims to be compatible to the [Twitter API 1.0](https://dev.twitter.com/docs/api/1). +Implemented API calls +=== +The Friendica API aims to be compatible to the [GNU Social API](http://skilledtests.com/wiki/Twitter-compatible_API) and the [Twitter API](https://dev.twitter.com/rest/public). Please refer to the linked documentation for further information. @@ -6,13 +8,13 @@ Please refer to the linked documentation for further information. ### General #### Unsupported parameters -* cursor: Not implemented in StatusNet -* trim_user: Not implemented in StatusNet -* contributor_details: Not implemented in StatusNet -* place_id: Not implemented in StatusNet -* display_coordinates: Not implemented in StatusNet +* cursor: Not implemented in GNU Social +* trim_user: Not implemented in GNU Social +* contributor_details: Not implemented in GNU Social +* place_id: Not implemented in GNU Social +* display_coordinates: Not implemented in GNU Social * include_rts: To-Do -* include_my_retweet: Retweets in friendica are implemented in a different way +* include_my_retweet: Retweets in Friendica are implemented in a different way #### Different behaviour * screen_name: The nick name in friendica is only unique in each network but not for all networks. The users are searched in the following priority: Friendica, StatusNet/GNU Social, Diaspora, pump.io, Twitter. If no contact was found by this way, then the first contact is taken. @@ -22,108 +24,153 @@ Please refer to the linked documentation for further information. * cid: Contact id of the user (important for "contact_allow" and "contact_deny") * network: network of the user +### account/rate_limit_status + ### account/verify_credentials #### Parameters * skip_status: Don't show the "status" field. (Default: false) * include_entities: "true" shows entities for pictures and links (Default: false) -### statuses/update, statuses/update_with_media +### conversation/show +Unofficial Twitter command. It shows all direct answers (excluding the original post) to a given id. + #### Parameters -* title: Title of the status -* status: Status in text format -* htmlstatus: Status in HTML format -* in_reply_to_status_id -* lat: latitude -* long: longitude -* media: image data -* source: Application name -* group_allow -* contact_allow -* group_deny -* contact_deny -* network +* id: id of the post +* count: Items per page (default: 20) +* page: page number +* since_id: minimal id +* max_id: maximum id * include_entities: "true" shows entities for pictures and links (Default: false) #### Unsupported parameters -* trim_user -* place_id -* display_coordinates +* include_rts +* trim_user +* contributor_details -### users/search +### direct_messages #### Parameters -* q: name of the user +* count: Items per page (default: 20) +* page: page number +* since_id: minimal id +* max_id: maximum id +* getText: Defines the format of the status field. Can be "html" or "plain" +* include_entities: "true" shows entities for pictures and links (Default: false) #### Unsupported parameters -* page -* count -* include_entities +* skip_status -### users/show +### direct_messages/all #### Parameters -* user_id: id of the user -* screen_name: screen name (for technical reasons, this value is not unique!) -* include_entities: "true" shows entities for pictures and links (Default: false) +* count: Items per page (default: 20) +* page: page number +* since_id: minimal id +* max_id: maximum id +* getText: Defines the format of the status field. Can be "html" or "plain" -### statuses/home_timeline +### direct_messages/conversation +Shows all direct messages of a conversation #### Parameters * count: Items per page (default: 20) * page: page number * since_id: minimal id * max_id: maximum id -* exclude_replies: don't show replies (default: false) -* conversation_id: Shows all statuses of a given conversation. -* include_entities: "true" shows entities for pictures and links (Default: false) +* getText: Defines the format of the status field. Can be "html" or "plain" +* uri: URI of the conversation -#### Unsupported parameters -* include_rts -* trim_user -* contributor_details +### direct_messages/new +#### Parameters +* user_id: id of the user +* screen_name: screen name (for technical reasons, this value is not unique!) +* text: The message +* replyto: ID of the replied direct message +* title: Title of the direct message -### statuses/friends_timeline +### direct_messages/sent #### Parameters * count: Items per page (default: 20) * page: page number * since_id: minimal id * max_id: maximum id -* exclude_replies: don't show replies (default: false) -* conversation_id: Shows all statuses of a given conversation. +* getText: Defines the format of the status field. Can be "html" or "plain" * include_entities: "true" shows entities for pictures and links (Default: false) -#### Unsupported parameters -* include_rts -* trim_user -* contributor_details - -### statuses/public_timeline +### favorites #### Parameters * count: Items per page (default: 20) * page: page number * since_id: minimal id * max_id: maximum id -* exclude_replies: don't show replies (default: false) -* conversation_id: Shows all statuses of a given conversation. * include_entities: "true" shows entities for pictures and links (Default: false) #### Unsupported parameters -* trim_user +* user_id +* screen_name -### statuses/show +Favorites aren't displayed to other users, so "user_id" and "screen_name". So setting this value will result in an empty array. + +### favorites/create #### Parameters -* id: message number -* conversation: if set to "1" show all messages of the conversation with the given id +* id +* include_entities: "true" shows entities for pictures and links (Default: false) + +### favorites/destroy +#### Parameters +* id * include_entities: "true" shows entities for pictures and links (Default: false) +### followers/ids +#### Parameters +* stringify_ids: Should the id numbers be sent as text (true) or number (false)? (default: false) + #### Unsupported parameters -* include_my_retweet -* trim_user +* user_id +* screen_name +* cursor -### statuses/retweet +Friendica doesn't allow showing followers of other users. + +### friendica/photo #### Parameters -* id: message number -* include_entities: "true" shows entities for pictures and links (Default: false) +* photo_id: Resource id of a photo. + +Returns data of a picture with the given resource. + +### friendica/photos/list + +Returns a list of all photo resources of the logged in user. + +### friends/ids +#### Parameters +* stringify_ids: Should the id numbers be sent as text (true) or number (false)? (default: false) #### Unsupported parameters -* trim_user +* user_id +* screen_name +* cursor + +Friendica doesn't allow showing friends of other users. + +### help/test + +### media/upload +#### Parameters +* media: image data + +### oauth/request_token +#### Parameters +* oauth_callback + +#### Unsupported parameters +* x_auth_access_type + +### oauth/access_token +#### Parameters +* oauth_verifier + +#### Unsupported parameters +* x_auth_password +* x_auth_username +* x_auth_mode ### statuses/destroy #### Parameters @@ -133,12 +180,20 @@ Please refer to the linked documentation for further information. #### Unsupported parameters * trim_user -### statuses/mentions +### statuses/followers +* include_entities: "true" shows entities for pictures and links (Default: false) + +### statuses/friends +* include_entities: "true" shows entities for pictures and links (Default: false) + +### statuses/friends_timeline #### Parameters * count: Items per page (default: 20) * page: page number * since_id: minimal id * max_id: maximum id +* exclude_replies: don't show replies (default: false) +* conversation_id: Shows all statuses of a given conversation. * include_entities: "true" shows entities for pictures and links (Default: false) #### Unsupported parameters @@ -146,12 +201,14 @@ Please refer to the linked documentation for further information. * trim_user * contributor_details -### statuses/replies +### statuses/home_timeline #### Parameters * count: Items per page (default: 20) * page: page number * since_id: minimal id * max_id: maximum id +* exclude_replies: don't show replies (default: false) +* conversation_id: Shows all statuses of a given conversation. * include_entities: "true" shows entities for pictures and links (Default: false) #### Unsupported parameters @@ -159,16 +216,12 @@ Please refer to the linked documentation for further information. * trim_user * contributor_details -### statuses/user_timeline +### statuses/mentions #### Parameters -* user_id: id of the user -* screen_name: screen name (for technical reasons, this value is not unique!) * count: Items per page (default: 20) * page: page number * since_id: minimal id * max_id: maximum id -* exclude_replies: don't show replies (default: false) -* conversation_id: Shows all statuses of a given conversation. * include_entities: "true" shows entities for pictures and links (Default: false) #### Unsupported parameters @@ -176,23 +229,20 @@ Please refer to the linked documentation for further information. * trim_user * contributor_details -### conversation/show -Unofficial Twitter command. It shows all direct answers (excluding the original post) to a given id. - +### statuses/public_timeline #### Parameters -* id: id of the post * count: Items per page (default: 20) * page: page number * since_id: minimal id * max_id: maximum id +* exclude_replies: don't show replies (default: false) +* conversation_id: Shows all statuses of a given conversation. * include_entities: "true" shows entities for pictures and links (Default: false) #### Unsupported parameters -* include_rts * trim_user -* contributor_details -### favorites +### statuses/replies #### Parameters * count: Items per page (default: 20) * page: page number @@ -201,150 +251,186 @@ Unofficial Twitter command. It shows all direct answers (excluding the original * include_entities: "true" shows entities for pictures and links (Default: false) #### Unsupported parameters -* user_id -* screen_name - -Favorites aren't displayed to other users, so "user_id" and "screen_name". So setting this value will result in an empty array. - -### account/rate_limit_status - -### help/test - -### statuses/friends -* include_entities: "true" shows entities for pictures and links (Default: false) - -#### Unsupported parameters -* user_id -* screen_name -* cursor - -Friendica doesn't allow showing friends of other users. +* include_rts +* trim_user +* contributor_details -### statuses/followers +### statuses/retweet +#### Parameters +* id: message number * include_entities: "true" shows entities for pictures and links (Default: false) #### Unsupported parameters -* user_id -* screen_name -* cursor - -Friendica doesn't allow showing followers of other users. - -### statusnet/config - -### statusnet/version +* trim_user -### friends/ids +### statuses/show #### Parameters -* stringify_ids: Should the id numbers be sent as text (true) or number (false)? (default: false) +* id: message number +* conversation: if set to "1" show all messages of the conversation with the given id +* include_entities: "true" shows entities for pictures and links (Default: false) #### Unsupported parameters -* user_id -* screen_name -* cursor - -Friendica doesn't allow showing friends of other users. +* include_my_retweet +* trim_user -### followers/ids +### statuses/update, statuses/update_with_media #### Parameters -* stringify_ids: Should the id numbers be sent as text (true) or number (false)? (default: false) +* title: Title of the status +* status: Status in text format +* htmlstatus: Status in HTML format +* in_reply_to_status_id +* lat: latitude +* long: longitude +* media: image data +* source: Application name +* group_allow +* contact_allow +* group_deny +* contact_deny +* network +* include_entities: "true" shows entities for pictures and links (Default: false) +* media_ids: (By now only a single value, no array) #### Unsupported parameters -* user_id -* screen_name -* cursor - -Friendica doesn't allow showing followers of other users. +* trim_user +* place_id +* display_coordinates -### direct_messages/new +### statuses/user_timeline #### Parameters * user_id: id of the user * screen_name: screen name (for technical reasons, this value is not unique!) -* text: The message -* replyto: ID of the replied direct message -* title: Title of the direct message - -### direct_messages/conversation -Shows all direct messages of a conversation -#### Parameters * count: Items per page (default: 20) * page: page number * since_id: minimal id * max_id: maximum id -* getText: Defines the format of the status field. Can be "html" or "plain" -* uri: URI of the conversation +* exclude_replies: don't show replies (default: false) +* conversation_id: Shows all statuses of a given conversation. +* include_entities: "true" shows entities for pictures and links (Default: false) -### direct_messages/all -#### Parameters -* count: Items per page (default: 20) -* page: page number -* since_id: minimal id -* max_id: maximum id -* getText: Defines the format of the status field. Can be "html" or "plain" +#### Unsupported parameters +* include_rts +* trim_user +* contributor_details -### direct_messages/sent -#### Parameters -* count: Items per page (default: 20) -* page: page number -* since_id: minimal id -* max_id: maximum id -* getText: Defines the format of the status field. Can be "html" or "plain" -* include_entities: "true" shows entities for pictures and links (Default: false) +### statusnet/config -### direct_messages -#### Parameters -* count: Items per page (default: 20) -* page: page number -* since_id: minimal id -* max_id: maximum id -* getText: Defines the format of the status field. Can be "html" or "plain" -* include_entities: "true" shows entities for pictures and links (Default: false) +### statusnet/version #### Unsupported parameters -* skip_status +* user_id +* screen_name +* cursor -### oauth/request_token +Friendica doesn't allow showing followers of other users. + +### users/search #### Parameters -* oauth_callback +* q: name of the user #### Unsupported parameters -* x_auth_access_type +* page +* count +* include_entities -### oauth/access_token +### users/show #### Parameters -* oauth_verifier +* user_id: id of the user +* screen_name: screen name (for technical reasons, this value is not unique!) +* include_entities: "true" shows entities for pictures and links (Default: false) #### Unsupported parameters -* x_auth_password -* x_auth_username -* x_auth_mode +* user_id +* screen_name +* cursor + +Friendica doesn't allow showing friends of other users. ## Not Implemented API calls -The following list is extracted from the [API source file](https://github.com/friendica/friendica/blob/master/include/api.php) (at the very bottom): -* favorites/create -* favorites/destroy +The following API calls are implemented in GNU Social but not in Friendica: (incomplete) + * statuses/retweets_of_me * friendships/create * friendships/destroy * friendships/exists * friendships/show -* account/update_location * account/update_profile_background_image * account/update_profile_image * blocks/create * blocks/destroy -The following are things from the Twitter API also not implemented in StatusNet: -* statuses/retweeted_to_me -* statuses/retweeted_by_me +The following API calls from the Twitter API aren't implemented neither in Friendica nor in GNU Social: + +* statuses/mentions_timeline +* statuses/retweets/:id +* statuses/oembed +* statuses/retweeters/ids +* statuses/lookup +* direct_messages/show +* search/tweets * direct_messages/destroy -* account/end_session +* friendships/no_retweets/ids +* friendships/incoming +* friendships/outgoing +* friendships/update +* friends/list +* friendships/lookup +* account/settings * account/update_delivery_device -* notifications/follow -* notifications/leave -* blocks/exists -* blocks/blocking -* lists +* account/update_profile +* account/update_profile_background_image +* account/update_profile_image +* blocks/list +* blocks/ids +* users/lookup +* users/show +* users/search +* account/remove_profile_banner +* account/update_profile_banner +* users/profile_banner +* mutes/users/create +* mutes/users/destroy +* mutes/users/ids +* mutes/users/list +* users/suggestions/:slug +* users/suggestions +* users/suggestions/:slug/members +* favorites/list +* lists/list +* lists/statuses +* lists/members/destroy +* lists/memberships +* lists/subscribers +* lists/subscribers/create +* lists/subscribers/show +* lists/subscribers/destroy +* lists/members/create_all +* lists/members/show +* lists/members +* lists/members/create +* lists/destroy +* lists/update +* lists/create +* lists/show +* lists/subscriptions +* lists/members/destroy_all +* lists/ownerships +* saved_searches/list +* saved_searches/show/:id +* saved_searches/create +* saved_searches/destroy/:id +* geo/id/:place_id +* geo/reverse_geocode +* geo/search +* geo/place +* trends/place +* trends/available +* help/configuration +* help/languages +* help/privacy +* help/tos +* trends/closest +* users/report_spam ## Usage Examples ### BASH / cURL @@ -359,4 +445,4 @@ The [RSStoFriedika](https://github.com/pafcu/RSStoFriendika) code can be used as url = server + '/api/statuses/update' urllib2.urlopen(url, urllib.urlencode({'status': message,'group_allow[]':group_allow}, doseq=True)) -There is also a [module for python 3](https://bitbucket.org/tobiasd/python-friendica) for using the API. \ No newline at end of file +There is also a [module for python 3](https://bitbucket.org/tobiasd/python-friendica) for using the API.