X-Git-Url: http://git.maemo.org/git/?p=mysocials;a=blobdiff_plain;f=www%2Findex.html;h=20a1121b915cce1888fb3a2e973738745ae85618;hp=6c88284d248d78d9a7d699c405b39df399ed4b71;hb=732320a7f49639b8697b837f4b427c2b76c87884;hpb=3e18fef373060ca92f2efabf023661d915b35668 diff --git a/www/index.html b/www/index.html index 6c88284..20a1121 100644 --- a/www/index.html +++ b/www/index.html @@ -25,7 +25,9 @@ - + + + @@ -56,738 +58,38 @@
MySocials APIAboutMySocials API Privacy
-

MySocials API

-

MySocials driver API

-

MySocials driver is provided as a shared library (libmsa<service_name>.so). Structure msa_module *d includes information about the driver (name, identifier, pointers to driver functions). This structure is filled during initialization of the driver. -

-

Driver interface

-

Driver interface is described in file interface.h and consists of 4 functions: -

    -
  • msa_module_init(struct msa_module* d) — driver initialization;
  • -
  • msa_module_get_info(struct msa_module* d) — getting information about driver;
  • -
  • msa_module->send(xmlDocPtr request, xmlDocPtr* response, const struct msa_module* info) — request sending and response receiveing;
  • -
  • msa_module->shutdown(const struct msa_module*) - driver shutdown.
  • -
- -

Driver initialization and shutting down

- Driver initialization is performed by using msa_module_init(struct msa_module* d) function. Instance of structure which stores profile setting is created during initialization. Parameter d stores identifier of this instance. -
- Function msa_module->shutdown(const struct msa_module*) is used during program termination. - -

Interaction with driver

- - Fuction msa_module->send(xmlDocPtr request, xmlDocPtr* response, const struct msa_module* info) is used to perform requests to the driver. -Parameter request is a request in XML format. Description of structure of sending and receiveing data is described here. -Parameter response contains driver response in XML format. -Function msa_module_get_info(struct msa_module* d) is used to get information about driver (driver name and icon). -

- -

MySocials driver data structures

- -

Here you can see description of data structures which are used by MySocials driver. These structures are declared in mysocials_driver.h file which is available for other applications from mysocials-dev package. - -

Enumerations

-

Error codes

-
enum error_type {
-	FAILURE, // Function finished with error
-	SUCCESS, // Function finished without error
-	ERROR_ALLOCATION_OF_MEMORY, // Allocation of memory
-     	ERROR_NO_FUNCTION, // Defining function error
-     	ERROR_INITIALIZATION_ALREADY_PASSED, // Re-initialization error
-     	ERROR_IS_BUSY, // Module is busy
-     	ERROR_SEND_DATA, // Data sending error
-     	ERROR_PARSE_DATA // Data parsing error
-}
-	
- -

Driver interface

-

MySocials driver interface described in msa_module structure. Some of the fields of this stucture are filled before initialization by application (marked with **), the rest of it is filled during initialization.

-
-	struct msa_module {
-	gchar *id;    // Identifier 
-   	gchar *name;  // External driver name
-   	gchar* driverName;       // Driver name for system purposes (equals driver identifier)
-   	gchar *pic;   // Icon coded in base64
-   	gchar *proxy;  // **Proxy server address or NULL
-   	gint port; // **Proxy server port
-   
-   	/* Pointer to function for processing requests.
-      	   Parameters:
-           xmlRequest — request in XML format
-           xmlResponse — response in XML format
-           info — structure with driver settings
-      
-	   Function returns  SUCCESS in case without errors, otherwise FAILURE. 
-   	*/
-   
-   	error_type (*send)(char* xmlRequest, char** xmlResponse, struct msa_module *info) 
-        
-   	/* Pointer to function for driver shutting down.
-           Parameters:
-           info — structure with driver settings
-      
-	   Function returns  SUCCESS in case without errors, otherwise FAILURE. 
-   	*/
-
-   	error_type (*shutdown)(struct msa_module* info);
-}
-
-	
- -

Format of XML requests and responses

-

Common format of driver request and response

-

Request format

-
-	<Request class="" function="" noAuthorize="true">
-      		<Params>
-
-        	</Params>
-	</Request>
-	
- -
    -
  • noAuthorize - flag which forbids driver to call WebAuth (optional, set to false by default)
  • -
  • class - class which includes called function
  • -
  • function - name of the function
  • -
  • Params - set of parameters, stricly defined for each function
  • -
- -

Response format

-
-	<Response class="" function="" authorized="true" upload="..." download="...">
-      		<Params>
-
-        	</Params>
-	</Response>
-	
- -
    -
  • authorized - flag which indicates authorization during request performing (flag isn't set if error occures during request performing)
  • -
  • upload - number of bytes sent to server
  • -
  • download - number of bytes received from server
  • -
- -

Following classes are supported: -

    -
  • settings: class for working with settings
  • -
  • profile: class for receiving data about user's profile
  • -
  • friends: class for receiving data about user's friends
  • -
  • messages: class for receiving data about messages
  • -
  • photos: class for working with photos
  • -
  • audio: class for working with audio files
  • -
  • video: class for working with video files
  • -
  • news: class for working with news
  • -
-

- -

Settings

-

getSettings

- Request: -
-	<Request class="settings" function="getSettings">
-      		<Params/>
-        </Request>
-	
- - Response: -
-	<Response class="settings" function="getSettings">
-      		<Params>
-			<string name="mid"> ... </string>
-			<string name="sid"> ... </string>
-			<string name="secret"> ... </string>
-        	</Params>
-	</Response>
-	
-

Content of Params tag depends on the driver. It is recommended to save content of Params tag and send it to setup function without any changes.

- -

setSettings

- Request: -
-	<Request class="settings" function="setSettings">
-      		<Params>
-			<string name="mid"> ... </string>
-			<string name="sid"> ... </string>
-			<string name="secret"> ... </string>
-        	</Params>
-	</Request>
-	
-

Params tag must contain data received from driver during getSettings request.

- Response: info message or error message. - -

getListMethods

- Request: -
-	<Request class="settings" function="getListMethods">
-      		<Params/>
-        </Request>
-	
- Response: -
-	<Response class="settings" function="getListMethods">
-      		<Params>
-			<string function="..." class="..."> ... </string>
-			<string function="..." class="..."> ... </string>
-			...
-        	</Params>
-	</Response>
-	
- -

testConnection

- Request: -
-	<Request class="settings" function="testConnection">
-      		<Params/>
-        </Request>
-	
- Response: info message or error message. - - - -

Profile

-

getProfile

- Request: -
-	<Request class="profile" function="getProfile">
-      		<Params id="...">
-        </Request>
-	
-

Attribute id is an id of user whose profile is needed to be received (optional, equals id of owner of current account by default).

- Response: -
-	<Response class="profile" function="getProfile">
-      		<Params id="...">
-			<string name="FirstName"> ... </string>
-            		<string name="NickName"> ... </string>
-            		<string name="LastName"> ... </string>
-            		<string name="Gender"> ... </string>
-            		<string name="Birthday"> ... </string>
-            		<string name="MobilePhone"> ... </string>
-            		<string name="HomePhone"> ... </string>
-            		<img name="Img"> ... </img>
-            		<string name="CityName"> ... </string>
-            		<string name="CountryName"> ... </string>
-        	</Params>
-	</Response>
-	
- -

getBaseProfile

- Request: -
-	<Request class="profile" function="getBaseProfile">
-      		<Params id="...">
-        </Request>
-	
-

Attribute id is an id of user whose profile is needed to be received (optional, equals id of owner of current account by default).

- Response: -
-	<Response class="profile" function="getBaseProfile">
-      		<Params id="...">
-			<string name="FirstName"> ... </string>
-            		<string name="NickName"> ... </string>
-            		<string name="LastName"> ... </string>
-            	</Params>
-	</Response>
-	
- - - -

Friends

-

getListFriends

- Request: -
-	<Request class="friends" function="getListFriends">
-      		<Params id="...">
-			<number name="page"> ... </number>
-			<number name="pageSize"> ... </number>
-		</Params>
-        </Request>
-	
-
    -
  • page - number of page that is requested (optional, positive integer, equals 1 by default)
  • -
  • pageSize - page size (optional, positive integer, equals 100 by default)
  • -
  • id - user id (optional, equals id of owner of current account by default)
  • -
- Response: -
-	<Response class="friends" function="getListFriends">
-      		<Params id="...">
-			<array name="contactList" page="..." pageSize="..." quantity="...">
-				<struct name="contact" id="...">
-					<string name="FirstName"> ... </string>
-            				<string name="NickName"> ... </string>
-            				<string name="LastName"> ... </string>
-					<string name="FriendStatus"> ... </string>
-                     			<img name="Img"> ... </img>
-				</struct>
-			</array>
-            	</Params>
-	</Response>
-	
- -

deleteFriend

- Request: -
-	<Request class="friends" function ="deleteFriend">
-      		<Params id="..."/>
-        </Request>
-	
- Response: info message or error message. - - - -

Photos

-

createAlbum

- Request: -
-	<Request class="photos" function="createAlbum">
-      		<Params id="...">
-			<string name="name"> ... </string>
-            		<string name="description"> ... </string>
-            		<string name="privacy">PRIVACY</string>
-		</Params>
-        </Request>
-	
- PRIVACY can have following values: -
    -
  • SELF - created album will be available only for its owner;
  • -
  • ALL_FRIENDS - created album will be available for owner's friends;
  • -
  • FRIENDS_OF_FRIENDS - created album will be available only for owner's friends and their friends;
  • -
  • EVERYONE - created album will be available only for every user.
  • -
-

This set of values can be extended. If PRIVACY isn't set, driver use default setting for all new albums which are set by user.

-
    -
  • id - optional, equals id of owner of current account by default
  • -
  • name - optional, equals "no_name" by default
  • -
  • description - optional
  • -
- Response: -
-	<Response class="photos" function="createAlbum">
-      		<Params id="...">
-			<string name="albumId"> ... </string>
-            	</Params>
-	</Response>
-	
- -

getListAlbums

- Request: -
-	<Request class="photos" function="getListAlbums">
-      		<Params id="..."/>
-        </Request>
-	
-

id - optional, equals id of owner of current account by default.

- Response: -
-	<Response class="photos" function="getListAlbums">
-      		<Params>
-			<array name="albumList" quantity="..." ownerId="...">
-				<struct name="album" id="...">
-					<string name="title"> ... </string>
-            				<string name="description"> ... </string>
-            				<string name="thumbId"> ... </string>
-					<img name="Img"> ... </img>
-					<number name="created"> ... </number>
-                     			<number name="updated"> ... </number>
-					<number name="size"> ... </number>
-					<number name="canUpload"> ... </number>
-				</struct>
-			</array>
-            	</Params>
-	</Response>
-	
-

canUpload - optional, if this parameter isn't set, it means that album is available for current user.

- -

uploadPhoto

- Request: -
-	<Request class="photos" function = "uploadPhoto">
-     		<Params>
-         		<string name="albumId"> ... </string>
-         		<string name="albumName"> ... </string>
-         		<string name="albumPrivacy"> ... </string>
-         		<string name="albumDescription"> ... </string>
-         		<string name="file"> ... </string>
-         		<string name="fileName"> ... </string>
-         		<string name="description"> ... </string>
-         		<string name="tags"> ... </string>
-     		</Params>
-	</Request>
-	
-
    -
  • There have to be only one of parameters albumName or albumId in request.
  • -
  • If albumId is set, photo is uploaded to this album.
  • -
  • If albumId isn't specified, new album is created (with name albumName, description albumDescription and private settings albumPrivacy).
  • -
  • If both parameters albumName and albumId aren't specified, driver returns error message or photo is uploaded to common album, which is available in some services.
  • -
  • Parameter tags can not be supported by some services.
  • -
  • Parameter file contains full path to file for sending.
  • -
  • Parameter fileName contains name of file for upload.
  • -
- Response: -
-	<Response class="photos" function = "uploadPhoto">
-     		<Params>
-         		<string name="albumId"> ... </string>
-        		<string name="photoId"> ... </string>
-     		</Params>
-	</Response>
-	
- -

getListPhotos

- Request: -
-	<Request class="photos" function = "getListPhotos">
-     		<Params id="...">
-        		<string name="albumId"> ... </string>
-        		<number name="page"> ... </number>
-        		<number name="pageSize"> ... </number>
-     		</Params>
-	</Request>
-	
-
    -
  • page - number of page that is requested (optional, positive integer, equals 1 by default)
  • -
  • pageSize - page size (optional, positive integer, equals 100 by default)
  • -
  • id - user id (optional, equals id of owner of current account by default)
  • -
- Response: -
-	<Response class="photos" function="getListPhotos">
-    		<Params>
-        		<array name="photosList" page="..." pageSize="..." quantity="..." ownerId="..." albumId="...">
-            			<struct name="photo" id="..."/>
-                			<string name="urlSmall"> ... </string>
-               				<string name="urlBig"> ... </string>
-                			<string name="urlOrig"> ... </string>
-                			<string name="description"> ... </string>
-                			<number name="created"> ... </number>
-            			</struct>
-        		</array>
-    		</Params>
-	</Response>
-	
- -

getListUserPhotos

- Request: -
-	<Request class="photos" function = "getListUserPhotos">
-     		<Params id="...">
-        		<number name="page"> ... </number>
-        		<number name="pageSize"> ... </number>
-     		</Params>
-	</Request>
-	
-
    -
  • page - number of page that is requested (optional, positive integer, equals 1 by default)
  • -
  • pageSize - page size (optional, positive integer, equals 100 by default)
  • -
  • id - user id (optional, equals id of owner of current account by default)
  • -
- Response: -
-	<Response class="photos" function="getListUserPhotos">
-   		<Params>
-        		<array name="photosList" page="..." pageSize="..." quantity="...">
-            			<struct name="photo" id="..."/>
-                			<string name="ownerId"> ... </string>
-                			<string name="albumId"> ... </string>
-                			<string name="urlSmall"> ... </string>
-                			<string name="urlBig"> ... </string>
-                			<string name="urlOrig"> ... </string>
-                			<string name="description"> ... </string>
-                			<number name="created"> ... </number>
-            			</struct>
-        		</array>
-    		</Params>
-	</Response>
-	
- -

getListPhotoTags

- Request: -
-	<Request class="photos" function = "getListPhotoTags">
-     		<Params>
-                	<string name="ownerId"> ... </string>
-                	<string name="albumId"> ... </string>
-                	<string name="photoId"> ... </string>
-     		</Params>
-	</Request>
-	
- Response: -
-	<Response class="photos" function="getListPhotoTags">
-    		<Params>
-        		<array name="tagsList" quantity="..." ownerId="..." albumId="..." photoId="...">
-            			<struct name="tag" id="..."/>
-                			<string name="userId"> ... </string>
-                			<string name="text"> ... </string>
-                			<number name="created"> ... </number>
-            			</struct>
-        		</array>
-    		</Params>
-	</Response>
-	
-

Parameter userId is an id of user which is marked on photo (optional).

- -

getListFavoritePhotos

- Request: -
-	<Request class="photos" function = "getListFavoritePhotos">
-     		<Params id="...">
-        		<number name="page"> ... </number>
-        		<number name="pageSize"> ... </number>
-     		</Params>
-	</Request>
-	
-
    -
  • page - number of page that is requested (optional, positive integer, equals 1 by default)
  • -
  • pageSize - page size (optional, positive integer, equals 100 by default)
  • -
  • id - user id (optional, equals id of owner of current account by default)
  • -
- Response: -
-	<Response class="photos" function="getListFavoritePhotos">
-    		<Params>
-        		<array name="photosList" page="..." pageSize="..." quantity="...">
-            			<struct name="photo" id="..."/>
-                			<string name="ownerId"> ... </string>
-                			<string name="albumId"> ... </string>
-                			<string name="urlSmall"> ... </string>
-                			<string name="urlBig"> ... </string>
-                			<string name="urlOrig"> ... </string>
-                			<string name="description"> ... </string>
-                			<number name="created"> ... </number>
-            			</struct>
-        		</array>
-    		</Params>
-	</Response>
-	
- -

getPhoto

- Request: -
-	<Request class="photos" function = "getPhoto">
-     		<Params>
-        		<string name="url"> ... </string>
-        		<string name="path"> ... </string>
-     		</Params>
-	</Request>
-	
- Response: info message or error message. - -

getListPhotoComments

- Request: -
-	<Request class="photos" function = "getListPhotoComments">
-     		<Params>
-        		<string name="ownerId"> ... </string>
-       			<string name="albumId"> ... </string>
-        		<string name="photoId"> ... </string>
-        		<number name="page"> ... </number>
-        		<number name="pageSize"> ... </number>
-     		</Params>
-	</Request>
-	
-
    -
  • page - number of page that is requested (optional, positive integer, equals 1 by default)
  • -
  • pageSize - page size (optional, positive integer, equals 100 by default)
  • -
- Response: -
-	<Response class="photos" function="getListPhotoComments">
-    		<Params>
-        		<array name="commentsList" page="..." pageSize="..."  quantity="..." ownerId="..." albumId="..." photoId="...">
-            			<struct name="comment" id="..."/>
-                			<string name="ParentId"> ... </string>
-                			<string name="SenderId"> ... </string>
-                			<string name="SenderName"> ... </string>
-                			<string name="Time"> ... </string>
-                			<string name="Text"> ... </string>
-            			</struct>
-        		</array>
-    		</Params>
-	</Response>
-	
-

Parameter ParentId is an id of previous comment, if there is such one (optional).

- -

sendPhotoComment

- Request: -
-	<Request class="photos" function="sendPhotoComment">
-     		<Params>
-        		<string name="ownerId"> ... </string>
-        		<string name="albumId"> ... </string>
-        		<string name="photoId"> ... </string>
-        		<string name="text"> ... </string>
-     		</Params>
-	</Request>
-	
- Response: info message or error message. - - - -

Messages

-

getListOutboxMessages

- Request: -
-	<Request class="messages" function="getListOutboxMessages">
-     		<Params>
-        		<number name="page"> ... </number>
-        		<number name="pageSize"> ... </number>
-          		<number name="timeOffset"> ... </number>
-     		</Params>
-	</Request>
-	
-
    -
  • page - number of page that is requested (optional, positive integer, equals 1 by default)
  • -
  • pageSize - page size (optional, positive integer, equals 100 by default)
  • -
  • timeOffset - time offset for requested messages
  • -
- Response: -
-	<Response class="messages" function = "getListOutboxMessages">              
-      		<Params>
-            		<array name="messageList" page="..." pageSize="..." quantity="...">
-                 		<struct name="message" id="...">             
-                       			<string name="SenderId"> ... </string>
-                       			<string name="SenderName"> ... </string>
-                       			<array name="recipientList" quantity="...">
-                             			<struct name="recipient">
-                                  			<string name="RecipientId"> ... </string>
-                                   			<string name="RecipientName"> ... </string>
-                             			</struct>
-                       			</array>
-                       			<string name="Time"> ... </string>
-                       			<string name="Title"> ... </string>
-                       			<string name="Text"> ... </string>
-                       			<string name="Status"> ... </string>
-                       			<attachment id="..." ownerId="..." type="...">
-                       			 ...
-                       			</attachment>
-                 		</struct>
-             		</array>
-       		</Params>
-	</Response>
-	
-

Parameter attachment is optional, its content depends on attribute type and can have following values:

-
-	<attachment id="..." ownerId="..." type="image">
-        	<string name="name"> ... </string>      
-        	<string name="albumId"> ... </string>
-                <string name="urlSmall"> ... </string>
-                <string name="urlBig"> ... </string>
-        </attachment>
-
-	<attachment id="..." ownerId="..." type="video">
-        	<string name="name"> ... </string>
-        	<string name="url"> ... </string>
-                <number name="duration"> ... </number>
-                <string name="urlImage"> ... </string>
-        </attachment>
-
-	<attachment id="..." ownerId="..." type="audio">
-		<string name="name"> ... </string>
-		<string name="url"> ... </string>
-		<number name="duration"> ... </number>
-        </attachment>
-
-	<attachment id="..." ownerId="..." type="link">
-       		<string name="name"> ... </string>
-                <string name="url"> ... </string>
-                <string name="urlImage"> ... </string>
-        </attachment>
-
-	<attachment id="..." ownerId="..." type="note">
-		<string name="name"> ... </string>
-		<string name="url"> ... </string>
-	</attachment>
-	
- - - - - -

Audio

-

getListAudio

- Request: -
-	<Request class="audio" function="getListAudio">
-      		<Params id="...">
-		</Params>
-        </Request>
-	
- Response: -
-	<Response class="audio" function="getListAudio">
-      		<Params id="...">
-			<array name="audioList" quantity="..." ownerId="...">
-				<struct name="audio" id="...">
-					<string name="title"> ... </string>
-            				<string name="artist"> ... </string>
-            				<number name="duration"> ... </number>
-					<string name="audio"> ...url... </string>
-				</struct>
-			</array>
-            	</Params>
-	</Response>
-	
- - - -

Video

-

getListVideo

- Request: -
-	<Request class="video" function="getListVideo">
-      		<Params id="...">
-		</Params>
-        </Request>
-	
- Response: -
-	<Response class="video" function="getListVideo">
-      		<Params>
-			<array name="videoList" quantity="..." ownerId="...">
-				<struct name="video" id="...">
-					<string name="title"> ... </string>
-            				<string name="description"> ... </string>
-            				<number name="duration"> ... </number>
-					<img name="Img"> ...url... </img>
-					<string name="link"> ...url... </string>
-					<string name="url"> ...url to player... </string>
-				</struct>
-			</array>
-            	</Params>
-	</Response>
-	
- - - -

News

- -

Info and error messages

-

Error message format

-
-	<Response class="systemMessages" function = "errorMessage">              
-    		<Params>
-        		<string name="moduleName"> ... </string>
-        		<string name="code"> ... </string>
-        		<string name="text"> ... </string>
-        		<string name="comment"> ... </string>
-        		<string name="type">user/internal/service </string>
-    		</Params>
-	</Response>
-	
- -

Info message format

-
-	<Response class="systemMessages" function = "infoMessage">              
-    		<Params>
-        		<string name="moduleName"> ... </string>
-    		</Params>
-	</Response>
-	
- - +

MySocials App

+

+ MySocials application is a client for different social networks. It allows to work with various objects including users' profiles, images, messages, audio files, etc. Using your accounts from social networks you are able to browse your friends profiles, work with messages, audio files, albums and images with comments and send your own comment to each image. Also you can download images from your device to social network using this app. MySocials supports interaction with such social networks as Vkontakte, Facebook, Flickr, MyWorld from Mail.Ru and Photobucket. +

+

+The main aim of MySocials app is to make your work with different services easier, so the app integrates all base functions of social networks such as oppportunity to share your photos and video files, exchange messages with other people, browse your friends' profiles, etc. After you pass authorization in several social networks that MySocials supports, you are able to work with common list of your friends from these networks. To make navigation through this list more convinient you can use different filters. The list can be filtered by social network, by sex or by friend's status (online/offline). Also you can find a friend in the list using special field «Search». +

+

Harmattan version

+

+ Browsing list of friends (Harmattan version) +

+ Using MySocials you are able to browse all important information about selected friend from social network such as friend's profile information, his/her albums with images and audio files, your messages that you send/get from this friend. +

+ Sharing photos and images is another important and popular service in social networks. MySocial allows you to browse you own and your friends' albums and images from different social networks, send your comment to each image and upload your images to the service by using simple form of our app. +

+

desktop version

+

+ Browsing list of friends and albums of selected friend (desktop version) +

+

Maemo 5 version

+

+ Browsing photos (Maemo 5 version) +

+

+ We have to point out that MySocials uses special application WebAuth to pass the authorization throuhg web interface. That means that the app doesn't store your logins and passwords from your accounts that make your work with MySocials safety. One more feature of this app is an opportunity to work though proxy. +

+

+ MySocials is available for different platforms. More details are avilable in Downloads page of our site. +

+

+ Source code is available at Gitorious. You are welcome to send you comments and suggestions to our email maemo-mysocials@cs.karelia.ru. +