When GAM Authentication Type is Facebook, by using an ExternalToken which is given by Facebook, you can call the Facebook API.
In the following example we get the list of friends of the user who is logged in.
1. You need to have a GAM Facebook Authentication Type defined in GAM Repository.
2. In this example, if the Authentication Type of the user who is logged in is "Facebook", we ask for his friends following the instructions of the Facebook API (graph.facebook.com). This is done using the ExternalToken returned by the current GAM Session.
The code of the web panel should be similar to the following:
&SessionValid = GAMSession.IsValid(&Session, &Errors) //&Session is GAMSession data type, &Errors is collection of GAMError data type
If &SessionValid and not &Session.IsAnonymous
&User = GAMUser.Get() //&User is GAMUser data type
if &User.AuthenticationTypeName = 'facebook'
&ExternalToken = &Session.ExternalToken
&httpClient.Host = "graph.facebook.com" //&httpclient is HTTPClient data type
&httpClient.BaseUrl = "/"
&HttpClient.Secure = 1
&StrCall = "me/friends" + "?" + "access_token=" + &ExternalToken
&ResultHttp = &httpClient.ToString()
&data2 = &data.data
for &dataitem in &data2 //&dataitem is &data2.data
For &Error in &Errors
If &Error.Code <> GAMErrorMessages.SessionExpired
Msg(Format("%1 (GAM%2)", &Error.Message, &Error.Code))
As calling this method of Facebook API returns a Json structure, we defined an SDT where the information could be loaded, so &data and &data2 are like the following, acording to the format of the Json data returned.