Gigya Job Openings

socialize.getAvailableProviders JS

Skip to end of metadata
Go to start of metadata


Returns a list of the providers that are available for performing various operations. The list of available providers is the intersected set of the following lists: The providers that are properly configured for your site in the Site Setup page on Gigya website; the enabledProviders list of providers, which can be configured in the global configuration object; the disabledProviders list of providers, which can also be configured in the global configuration object; and the providers that match the list of capabilities specified by the requiredCapabilities parameter of this function.


Currently supported capabilities are:

  • Login - The provider can be used for sign-on.
  • Friends - The provider supports obtaining the list of friends of the current user.
  • Actions - The provider allows sending newsfeed updates.
  • Status - The provider allows setting the status message of the current user.
  • Photos - The provider supports obtaining the user's photo albums.
  • Contacts - The provider supports obtaining the list of email contacts of the current user.






The following table lists the available parameters:

requiredCapabilitiesstringA comma-separated list of any of the following capabilities: Login, Actions, Friends, Status, Photos, Contacts. Only providers that are available and support all the required capabilities are returned.
A reference to a callback function. Gigya calls the specified function along with the results of the API method when the API method completes.
The callback function should be defined with the following signature: functionName(Response).
The "Response Object Data Members" table below provides specification of the data that is passed to the callback function.
A string of maximum 100 characters length. The CID sets categories for transactions that can be used later for filtering 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. You should not define more than 100 different context IDs.

Note: This parameter overrides the value of the identical parameter in Global Conf (the global configuration object). If the parameter is not set for the method, the value from Global Conf is used.

A developer-created object that is passed back unchanged to the application as one of the fields in the response object.

The license could not be verified: License Certificate has expired!



Response Object Data Members

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 Response Codes and Errors table.
errorMessage string A short textual description of an error associated with the errorCode for logging purposes.
callId string Unique identifier of the transaction, for debugging purposes.
context object The context object passed by the application as a parameter to the API method, or null if no context object has been passed.
availableProvidersobjectA dictionary of available providers and their capabilities, where the key is a provider name and the value is a ProviderCapabilities structures.

For example:

response.availableProviders['googleplus'] - represents the provider capabilities of Google+.

response.availableProviders['googleplus'].isConnected - indicates if the current user is connected to Google+.


ProviderCapabilities Structure

A structure containing information about the capabilities of a single provider.

Field NameTypeDescription
capabilitiesstringA comma-separated list of capabilities supported by this provider.
isLoggedInBooleanIndicates whether the current user is logged using this provider.
isConnectedBooleanIndicates whether the current user is connected to this provider.
namestringThe URL of a link to associate with the image.


Code Sample

var context = {
   message:'This is my message to you', 
   myAppTitle:'These are my providers:'

function printResponse(response) {  
    if ( response.errorCode == 0 ) {             
        var availableProviders= response['availableProviders']; 
        var msg = response['context']['myAppTitle'] + '\n\n';
        if ( null!=availableProviders ) {
            for (var providerName in availableProviders) {
                msg += providerName + ':\n' ;
                var provider = availableProviders[providerName];
                for (var properties in provider) {
                    msg+= ' ' +properties+ '  :  ' + provider[properties] + '\n';
        else {
            alert('Error : NO available providers were returned');
    else {
        alert('Error :' + response.errorMessage);

var params = {
    requiredCapabilities: 'login, notifications, friends, status', 



  • This sample is not meant to be fully functional code. For brevity's sake, only the code required for demonstrating the API call itself is presented.
  • To run the code on your own domain, add your Gigya API key to the gigya.js URL. A Gigya API key can be obtained on the Site Dashboard page on Gigya's website. Please make sure that the domain from which you are loading the page is the same domain name that you used for generating the API key.
  • In some cases it is necessary to connect/login the user to a provider ? prior to calling the API method. You can learn more in the Social Login guide.