Table of contents
Description
Publishes a user action to the newsfeed of all the connected providers.
To learn more about publishing feed items, please read the Advanced Sharing page in the Developer Guide.
Supporting Providers
This operation is currently supported by the following providers: Facebook, Twitter, Yahoo, LinkedIn, Myspace, Orkut, VKontakte, Tencent QQ, Renren and Sina Weibo.
Note: Before your application can publish to Facebook, the user must grant your application an extended permission. Please make sure you have checked the "Enable publishing user actions" check box in the Site Setup > Permissions page on Gigya's website. During the social login process, the user will be presented with a dialog in which the user can authorize your application to publish to his Facebook profile.
Please, read more in the Facebook Setting - Permissions guide.
Request URL
http[s]://socialize.gigya.com/socialize.publishUserAction
Parameters
| Required | Name | Type | Description |
| Required* | UID | string | The unique ID of the user, with which this method call is associated. This is the UID you receive from Gigya after a successful login of this user. * The UID parameter is required when you call this method through one of the following interfaces: PHP SDK, Java SDK, NET SDK or if you are using the REST API directly with Gigya's proprietary authorization method. * The UID parameter is not required when you call this method through one of the following interfaces: Android SDK, iOS SDK or if you are using an external OAuth2 SDK. Note: If you are using account linking then the UID would be your site user ID. To learn more about Social Login with account linking (best practice), please refer to the Social Login Implementation guide. |
| Required | userAction | UserAction JSON | The user action to publish. The UserAction represented as a JSON string. See below the UserAction JSON representation. Note: The UserAction JSON is equivalent to the UserAction object in the JavaScript API. See further usage details there. Please remove empty values from the JSON. |
| Optional | enabledProviders | string | A comma-delimited list of provider names to include in the method execution. This parameter gives the possibility to apply this method only to a subset of providers of your choice. If you do not set this parameter, by default all the providers are enabled (i.e. the method applies to all connected providers). For example, if you would like the method to apply only to Facebook and Twitter, define: enabledProviders="facebook,twitter". Valid provider names include: 'facebook', 'twitter', 'yahoo', 'google', 'linkedin', 'myspace', 'orkut', 'vkontakte', 'qq', 'renren', 'sina'. |
| disabledProviders | string | A comma-delimited list of provider names to exclude in the method execution. This parameter gives the possibility to specify providers to which that you don't want this method to apply. If you do not set this parameter, by default no provider is disabled (i.e. the method applies to all connected providers). For example, if you would like the method to apply to all providers except Google and Twitter, define: disabledProviders="google,twitter". Valid provider names include: 'facebook', 'twitter', 'yahoo', 'google', 'linkedin', 'myspace', 'orkut', 'vkontakte', 'qq', 'renren', 'sina'. | |
| <provider-name>UserAction | UserAction JSON | It is possible to specify different content to publish for each social network. For this purpose, the method supports a set of parameters with the same name format: <provider-name> (i.e. facebook, twitter, yahoo, etc.) followed by "UserAction". For example: twitterUserAction - specifies the content to be used specifically when publishing to Twitter. Each of these parameters accepts a UserAction JSON (same format as the userAction parameter. Each of these optional parameters if specified will override the userAction parameter when posting to that provider. In other words, the userAction parameter (see above) specifies the default content to be used for all social networks and <provider-name>UserAction specifies the content to be used for the specific network. | |
| userLocation | JSON Object | The location to which this user action refers. Assigning a location to a user action is currently supported by Twitter only. The value of this parameter should be a JSON object containing the following fields:
| |
| shortURLs | string | Using this parameter you may determine whether to use Gigya's URL shortening service for URLs, which are published through this method. The optional values for this parameter are:
| |
| cid | string | A string of maximum 100 characters length. This string is associated with each transaction and will later appear on reports generated by Gigya in the "Context ID" combo box. The cid allows you to associate the report information with your own internal data. For example, to identify a specific widget or page on your site/application. The "Context ID" combo box lets you filter the report data by site/application context. | |
| tags | string | A comma separated list of tags that are used to identify the share operation. | |
| actionAttributes | JSON object | In Gamification your users receive points for actions they perform on your site, in this case publishing a user action grants the user points. Action Attributes may be used to annotate actions with additional information, such as the section of the web site that generated the action. If you set here the actionAttributes, each time a user publishes a user action, the action also receives an attribute, for example "tv-show":"glee", which can mean that the action was performed on the "Glee" page of the site. These action attributes are later used to display the GM Plugins filtered according to a certain attribute. For example, you can show the Leaderboard plugin only for top users on the "Glee" page. This parameter receives a JSON object, comprised of a set or sets of a key (category) and a value or values, i.e.: "tv-show": ["glee", "30rock"], | |
| format | string | Determines the format of the response. This parameter is required when using the REST API directly, and irrelevant when using one of our SDKs. The options are:
|
|
| callback | string | This parameter is relevant only when the format parameter is set to jsonp (see above). In such case this parameter should define the name of the callback method to be called in the response, along with the jsonp response data. | |
| httpStatusCodes | Boolean | The default value of this parameter is false, which means that the HTTP status code in Gigya's response is always 200 (OK), even if an error occurs. The error code and message is given within the response data (see below). If this parameter is set to true, the HTTP status code in Gigya's response would reflect an error, if occurs. | |
| Activity Feed Plugin related Parameters: (The following parameters are relevant only if you are integrating the Activity Feed Plugin in your site) | |||
| scope | string | When publishing feed items, by default - the feed items are published to social networks only and will not appear on the site's Activity Feed Plugin. To change this behavior, you must change the publish scope. The optional values for this parameter are:
| |
| privacy | string | The privacy level determines how the user action is presented in each of the Activity Feed Plugin tabs. The optional values for this parameter are:
| |
| feedID | string | The purpose of this parameter is to support multiple Feed Streams with different feeds on the same domain. You may give a different feedID to different Activity Feed Plugins in your site. The Activity Feed Plugin will show only User Actions that were published with the same feedID (please refer to the same parameter in the showFeedUI method). Using this parameter you may choose to which Activity Feed Plugin on your site this User Action will be published. If this parameter is not set, it will be published on an Activity Feed Plugin that has no feedID (default). | |
Authorization Parameters
Each REST API request must contain identification and authorization parameters.
The set of required parameters is dependent on your selected method of authorization. There are two options:
- If you are conforming with the OAuth 2.0 standard, you will need to Pass an Access Token. For more information, please read the Using Gigya's REST API in compliance with OAuth 2.0 guide.
- If you are using Gigya's proprietary authorization method, you will need to pass the parameters specified here. Or, if you are making a call over HTTPS then you may pass the secret parameter instead of the timestamp, nonce and sig parameters. For more information, please read the Using Gigya's REST API with our proprietary authorization method guide.
UserAction JSON representation:
{
"title":"This is a title",
"linkBack":"http://google.com",
"description":"This is a description",
"actionLinks":[{"text":"link1","href":"http://wiki.gigya.com"},{"text":"link2","href":"http://livejournal.com"}],
"mediaItems":[
// Note: add only ONE type of media items - images/flash/video/mps
// images:
{"src":"http://www.f2h.co.il/logo.jpg", "href":"http://www.f2h.co.il","type":"image"},
{"src":"http://teo.esuper.ro/wp-content/images/cute_cat01.jpg","href":"http://teo.esuper.ro/","type":"image"},
// flash
{"src":"http://www.f2h.co.il/logo.swf","width":"100","height":"100",
"previewImageURL":"http://funny4myspace.com/widgets/pickup/thumbnail.gif","previewImageWidth":"200",
"previewImageHeight":"90","type":"flash"},
// video
{"src":"http://www.f2h.co.il/logo.avi","width":"100","height":"100",
"previewImageURL":"http://www.f2h.co.il/logo.jpg","previewImageWidth":"200",
"previewImageHeight":"90","type":"flash"} ,
// mp3
{"src":"http://denis.com/Around_The_World.mp3","title":"Around The World","artist":"Max Raabe","album":"Greatest Hits","type":"mp3"}
]
}
Response Data
| Field | Type | Description |
| errorCode | integer | The result code of the operation. Code '0' indicates success, any other number indicates failure. For a complete list of error codes, see the Error Codes table. |
| errorMessage | string | A short textual description of an error, associated with the errorCode, for logging purposes. This field will appear in the response only in case of an error. |
| errorDetails | string | This field will appear in the response only in case of an error and will contain the exception info, if available. |
| callId | string | Unique identifier of the transaction, for debugging purposes. |
| providerPostIDs | JSON Object | A list of social networks' post ID. The JSON object contains fields which are names of social networks. The optional field names are: 'facebook', 'twitter', 'google', 'yahoo'. The value of each field is the post unique ID, as returned by the corresponding social network (see JSON example below). |
| providerErrorCodes | JSON Array | An array of JSON objects representing the social network's post error codes. Each object has the following fields:
|
Response Example
{
"statusCode": 200,
"errorCode": 0,
"statusReason": "OK",
"callId": "a40b878f32ba41a68db8a66000d23c8a",
"providerPostIDs": {
"messenger": "CGC5XXGHSFI",
"yahoo": "94786448692314"
},
"providerErrorCodes": [{
"provider": "messenger",
"errorCode": 0,
"errorMessage": "OK"},
{
"provider": "twitter",
"errorCode": 403024,
"errorMessage": "Provider limit reached",
"errorDetails": "Limit reached: Status is a duplicate."},
{
"provider": "yahoo",
"errorCode": 0,
"errorMessage": "OK"},
{
"provider": "google",
"errorCode": 400096,
"errorMessage": "Not supported"
}]
} .

Comments