- From: Melvin Carvalho <melvincarvalho@gmail.com>
- Date: Sat, 11 Aug 2012 19:59:55 +0200
- To: Andrei Sambra <andrei@fcns.eu>
- Cc: public-webid <public-webid@w3.org>, Read-Write-Web <public-rww@w3.org>
- Message-ID: <CAKaEYhK9BzeoR7wy=X2dLECqVUX5OuxgTmBRnRgGS2bkbZ9zWg@mail.gmail.com>
On 10 August 2012 23:15, Andrei Sambra <andrei@fcns.eu> wrote: > Greetings, > > Today marks the first release of MyProfile REST API [1], which is supposed > to be an interface between standard social web applications (i.e. MyProfile > included), and linked data storage, especially SPARQL endpoints (i.e. > Virtuoso). > > The API offers WebID authentication as well as WebID delegated > authorization[2]. It will offer access control at the triple level very > soon (a few weeks maximum). For now I'm just testing that I'm doing it > right. > > A very important feature of the API is that it serves data based on the > desired Content-Type. This means if you specify in your request that you > Accept: text/rdf+n3, then you will get the data back in that format. > > The API currently supports viewing of user profiles (i.e. GET methods), as > well as removing cached profiles (i.e. DELETE methods). Once I switch the > Wall posts and Messages to full RDF storage (probably based on SIOC), I > will also enable those resources. > > > > Anyway, here is a quick example for viewing a user's profile: > > The request: > > HTTP/1.1 GET https://auth.my-profile.eu/**profile/?webid=<https://auth.my-profile.eu/profile/?webid=><urlencoded > WebID> > > With these extra header options: > > Accept: text/rdf+n3 > On-Behalf-Of: https://my-profile.eu/people/**deiu/card#me<https://my-profile.eu/people/deiu/card#me> > > Returns*: > > <https://my-profile.eu/people/**deiu/card#me<https://my-profile.eu/people/deiu/card#me> > > > a foaf:Person ; > foaf:name "Andrei Vlad Sambra" ; > foaf:givenName "Andrei Vlad" ; > . . . > > *the returned profile matches the access control policies specific to the > user on whose behalf the request is being made, and optionally the agent > doing the request. > > > Another example for deleting the cached copy of a profile: > > The request: > HTTP/1.1 DELETE https://auth.my-profile.eu/**profile/cache/?webid=<https://auth.my-profile.eu/profile/cache/?webid=> > <**urlencoded WebID> > > Returns*: > Successfully deleted profile https://my-profile.eu/people/**deiu/card#me<https://my-profile.eu/people/deiu/card#me> > . > > *for now, the operation will be performed only if the request is made by > profile owner, or on his/her behalf (!) > Awesome! Have you had much thoughts on wall posting yet? JSON seems to be the popular format as of today ... In web 3.0 we have some microblogging standards based on - SMOB Web 2.0 the dominant I think is facebook http://developers.facebook.com/docs/reference/api/post/ (cut and paste below as it's behind a login screen) =============================================== Post Core Concepts <http://developers.facebook.com/docs/coreconcepts/> › Graph API <http://developers.facebook.com/docs/reference/api/> › Post<http://developers.facebook.com/docs/reference/api/post/> An individual entry in a profile's feed as represented in the Graph API<http://developers.facebook.com/docs/reference/api> . The User <http://developers.facebook.com/docs/reference/api/user>, Page<http://developers.facebook.com/docs/reference/api/page>, Application <http://developers.facebook.com/docs/reference/api/application>and Group <http://developers.facebook.com/docs/reference/api/group> objects have feed connections containing post objects that represent their walls. In addition the User<http://developers.facebook.com/docs/reference/api/user>and Page <http://developers.facebook.com/docs/reference/api/page> objects have a connection named posts containing Posts made by the User and the Page respectively. Example A post <http://www.facebook.com/platform/posts/10150189643478553> from Facebook Platform: https://graph.facebook.com/19292868552_10150189643478553<http://developers.facebook.com/tools/explorer/?method=GET&path=19292868552_10150189643478553> ------------------------------ Fields A Post has the following fields. Querying without the read_stream permission will return only the public view of the data (i.e. data that can be see when the user is logged out). *Name**Description**Permissions**Returns*id The post ID Requires access_token string from Information about the user who posted the message Requires access_token object containing the name and Facebook id of the user who posted the message to Profiles mentioned or targeted in this post Requires access_token Contains in data an array of objects, each with the name and Facebook id of the user message The message Requires access_token string message_tags Objects tagged in the message (Users, Pages, etc) Requires access_token object containing fields whose names are the indexes to where objects are mentioned in the message field; each field in turn is an array containing an object with id, name, offset, and length fields, where length is the length, within the message field, of the object mentioned picture If available, a link to the picture included with this post Requires access_token string containing the URL link The link attached to this post Requires access_token string containing the URL name The name of the link Requires access_token string caption The caption of the link (appears beneath the link name) Requires access_token string description A description of the link (appears beneath the link caption) Requires access_token string source A URL to a Flash movie or video file to be embedded within the post Requires access_token string containing the URL properties A list of properties for an uploaded video, for example, the length of the video Requires access_token array of objects containing the name and text icon A link to an icon representing the type of this post Requires access_token string actions A list of available actions on the post (including commenting, liking, and an optional app-specified action) Requires access_token array of objects containing the name and link privacy The privacy settings of the Post read_stream object containing the value field and optional friends, networks, allow, deny and description fields. The value field may specify one of the following strings: EVERYONE, ALL_FRIENDS, NETWORKS_FRIENDS, FRIENDS_OF_FRIENDS, CUSTOM . The friends field must be specified if value is set to CUSTOM and contain one of the following strings: EVERYONE, NETWORKS_FRIENDS (when the object can be seen by networks and friends), FRIENDS_OF_FRIENDS, ALL_FRIENDS, SOME_FRIENDS, SELF, or NO_FRIENDS (when the object can be seen by a network only). The networks field may contain a comma-separated list of network IDs that can see the object, or 1 for all of a user's network. The allow field must be specified when the friends value is set to SOME_FRIENDS and must specify a comma-separated list of user IDs and friend list IDs that 'can' see the post. The deny field may be specified if the friends field is set to SOME_FRIENDS and must specify a comma-separated list of user IDs and friend list IDs that 'cannot' see the post. The description field may contain a comma-separated lists of valid country, city and language if a *Page's post* targeting by location/language is specified. *Note:* This privacy setting only applies to posts to the current or specified user's own Wall. Facebook ignores this setting for targeted Wall posts (when the user is writing on the Wall of a friend, Page, event, group connected to the user). Consistent with behavior on Facebook, all targeted posts are viewable by anyone who can see the target's Wall. *Privacy Policy:* any non-default privacy setting must be intentionally chosen by the user. You may not set a custom privacy setting unless the user has proactively specified that they want this non-default setting. Note that the visibility of the post will be determined by the more restrictive of the user's privacy setting as well as the post's privacy field type A string indicating the type for this post (including link, photo, video) Requires access_token string likes Likes for this post Requires access_token Structure containing a data object and the count of total likes, with datacontaining an array of objects, each with the name and Facebook id of the user who liked the post place Location associated with a Post, if any read_stream object containing id and name of Page associated with this location, and a location field containing geographic information such as latitude, longitude, country, and other fields (fields will vary based on geography and availability of information) story Text of stories not intentionally generated by users, such as those generated when two users become friends; you must have the "Include recent activity stories" migration enabled in your app to retrieve these stories read_stream string story_tags Objects (Users, Pages, etc) tagged in a non-intentional story; you must have the "Include recent activity stories" migration enabled in your app to retrieve these tags read_stream object containing fields whose names are the indexes to where objects are mentioned in the message field; each field in turn is an array containing an object with id, name, offset, and length fields, where length is the length, within the message field, of the object mentioned with_tags Objects (Users, Pages, etc) tagged as being with the publisher of the post ("Who are you with?" on Facebook) read_stream objects containing id and name fields, encapsulated in a data[] array comments Comments for this post read_stream Structure containing a data object containing an array of objects, each with the id, from, message, and created_time for each comment object_id The Facebook object id for an uploaded photo or video read_stream number application Information about the application this post came from read_stream object containing the name and id of the application created_time The time the post was initially published read_stream string containing ISO-8601 date-time updated_time The time of the last comment on this post read_stream string containing ISO-8601 date-time Delete You can delete a post as long as your application created the post. You delete a post by issuing an HTTP DELETE request to the POST_ID object with publish_stream permission. If the delete is successful, you get the following return. Description Type If the delete succeeded boolean ------------------------------ Connections A Post has the following connections. *Name**Description**Permissions**Returns*comments All of the comments on this post. Any valid access_token. array of objects containing id, from, message and created_time fields. likes The likes on this post. Any valid access_token. array of objects containing the id and name fields. insights Insights information for this Post, If this Post is from a Facebook Page. A valid access_token with read_insights permission for a user authorized to view the Page's insights. array of Insights objects. See the Insights documentation<http://developers.facebook.com/docs/reference/api/insights/>for more information. comments Create You can write to the POST_ID/comments connection to post a comment<http://developers.facebook.com/docs/reference/api/comment/>to the post by issuing an HTTP POST request with the publish_stream permission and following parameters. Parameter Description Type Required message Comment<http://developers.facebook.com/docs/reference/api/comment/>text string yes If the write is successful, you get the following return. Name Description Type id The new comment ID string Delete You can delete a comment<http://developers.facebook.com/docs/reference/api/comment/>by issuing an HTTP DELETE request to the COMMENT_ID object with the publish_stream permission. If the delete is successful, you get the following return. Description Type If the delete succeeded boolean likes Create You can like a Post by issuing a HTTP POST request to the POST_ID/likesconnection with the publish_stream permission. No parameters necessary. If the write is successful, you get the following return. Description Type If the like succeeded boolean Delete You can unlike a post by issuing an HTTP DELETE request to the POST_ID/likesconnection with the publish_stream permission. If the delete is successful, you get the following return. Description Type If the unlike succeeded boolean =============================================== Then there's app.net activity streams Do you think it makes sense to make a list of existing methods then try and align / standarize wall posting? > Andrei > > [1] https://auth.my-profile.eu/ > [2] http://www.w3.org/wiki/WebID/**Authorization_Delegation<http://www.w3.org/wiki/WebID/Authorization_Delegation> > >
Received on Saturday, 11 August 2012 18:00:24 UTC