Gigya Job Openings

socialize.facebookGraphOperation REST

Skip to end of metadata
Go to start of metadata

Description

A generic method for making calls to the Facebook Graph API. This method can be used for Graph operations such as publishing Graph actions to the user's Facebook timeline.

To publish Graph actions, you must first configure your app for Graph actions and submit it for approval.

Gigya currently supports Facebook Graph API version 2.5. You can not explicitly define another Graph API version when using Gigya APIs.

Request URL

Where <Data_Center> is:
  • us1.gigya.com - For the US data center.
  • eu1.gigya.com - For the European data center.
  • au1.gigya.com - For the Australian data center.
  • ru1.gigya.com - For the Russian data center.
  • cn1.gigya-api.cn - For the Chinese data center.

If you are not sure of your site's data center, see Finding Your Data Center.

Parameters

RequiredNameTypeDescription
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. See User.UID for more information.
  • The UID parameter is required when you call this method through one of the following interfaces: PHP SDK, Python 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.
graphPathstringThe Graph operation path. This is the part of Facebook's Graph URL that defines the operation. For example:
methodstringDetermines the HTTP method to use: "GET", "POST" or "DELETE". The default is "GET".
graphParamsJSON Object

A JSON object containing parameters to be passed to the Graph operation. For example:

graphParams: {
"recipe": "http://demo.gigya.com/recipe1.php",
  "place": "14576",
  "tags": "208576,507763995",
  "start_time": 1303502229,
  "end_time": 1303513029,
  "expires_in": 330
}
authTypestringDetermines whether the graph operation requires an access token and what type. The supported values are:
  • none - no access token
  • userToken (default) - a user access token. User access tokens are the standard type for API calls; these are generated in the login flow when a user grants permissions to an app.
  • appToken - an app access token. App access tokens can be generated for Facebook Apps. For more information on Facebook app access tokens refer to: https://developers.facebook.com/docs/opengraph/using-app-tokens/.
format string Determines the format of the response. The options are:
  • json (default)
  • jsonp - if the format is jsonp then you are required to define a callback method (see parameter below).
callback string This parameter is required only when the format parameter is set to jsonp (see above). In such cases this parameter should define the name of the callback method to be called in the response, along with the jsonp response data.
context string/JSON This parameter may be used to pass data through the current method and return it, unchanged, within the response.
dontHandleScreenSet Boolean This parameter may be used in order to suppress the showing of screen-sets as a result of API calls. Default is false.
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 one occurred.
authRequiredBooleanDeprecated. Indicates whether the graph operation requires an access token or not. The default is 'true'. This parameter is still supported and translated to either "none" (false) or "userToken" (true).

Authorization Parameters

Each REST API request must contain identification and authorization parameters.

Some REST APIs may function without these authorization parameters, however, when that occurs, these calls are treated as client-side calls and all client-side rate limits will apply. In order to not reach client-side IP rate limits that may impact your implementation when using server-to-server REST calls, it is Recommended Best Practice to always sign the request or use a secret. A non-exhaustive list of REST APIs that this may apply to are as follows:

  • accounts.login
  • socialize.login
  • accounts.notifyLogin
  • socialize.notifyLogin
  • accounts.finalizeRegistration
  • accounts.linkAccounts

Please refer to the Authorization Parameters section for details. 

 

Response Data

FieldTypeDescription
 
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.
fullEventName string The full name of the event that triggered the response. This is an internally used parameter that is not always returned and should not be relied upon by your implementation.
callId string Unique identifier of the transaction, for debugging purposes.
time string The time of the response represented in ISO 8601 format, i.e., yyyy-mm-dd-Thh:MM:ss.SSSZ or
statusCode integer The HTTP response code of the operation. Code '200' indicates success.
This property is deprecated and only returned for backward compatibility.
statusReason string A brief explanation of the status code.
This property is deprecated and only returned for backward compatibility.

 

graphResponseJSON ObjectAn object containing the response data of the Graph operation. The response is returned exactly as it is received from Facebook Graph API without translation by Gigya.

Example

Request

https://socialize.gigya.com/socialize.facebookGraphOperation?graphPath=%2fme%2frecipe%3acook&method=post
&graphParams=%7B%22recipe%22%3A%22http%3A%2F%2Fdemo.gigya.com%2Frecipe1.php%22%7D&oauth_token=000

 

Response

{
  "graphResponse": {"id":"1000002"},
  "statusCode": 200,
  "errorCode": 0,
  "statusReason": "OK",
  "callId": "9d0234393",
  "time": "2015-03-22T11:42:25.943Z"
}