最近のアクセス:
GAM: Facebook API の呼び出し例

GAM 認証タイプが Facebook の場合、Facebook から付与される ExternalToken を使用することで、Facebook API を呼び出すことができます。
次の例では、ログインしているユーザーの友達のリストを取得します。

1.GAM リポジトリで定義された GAM Facebook 認証タイプが必要です。

2.この例では、ログインしているユーザーの認証タイプが "Facebook" の場合、Facebook API (graph.facebook.com) の命令に従ってユーザーの友達を要求します。これは、現在の GAM セッションによって返される ExternalToken を使用して行われます。

Web パネルのコードは、次のようになります:
Event Refresh
    &SessionValid = GAMSession.IsValid(&Session, &Errors) //&Session は GAMSession データタイプ、&Errors は GAMError データタイプのコレクション
    If &SessionValid and not &Session.IsAnonymous
        &User = GAMUser.Get() //&User は GAMUser データタイプ    
        
        if &User.AuthenticationTypeName = 'facebook'
            &ExternalToken = &Session.ExternalToken
        endif

        &httpClient.Host = "graph.facebook.com" //&httpclient は HTTPClient データタイプ
        &httpClient.BaseUrl = "/"
        &HttpClient.Secure = 1
        &StrCall = "me/friends" + "?"+ "access_token=" + &ExternalToken
        &httpClient.Execute("GET", &StrCall)
        &ResultHttp = &httpClient.ToString()
        &data.fromJson(&ResultHttp)
        &data2 = &data.data
    
        for &dataitem in &data2  //&dataitem は &data2.data 
            //友達を表示する
            msg(&dataitem.name)
        endfor

     else
        do 'ProcessErrors'
     Endif
EndEvent

Sub 'ProcessErrors'
    For &Error in &Errors
        If &Error.Code <> GAMErrorMessages.SessionExpired
            Msg(Format("%1 (GAM%2)", &Error.Message, &Error.Code))
        Endif
    EndFor
EndSub
Facebook API のこのメソッドを呼び出すと JSON 構造を返すので、情報をロードできる SDT を定義します。その結果、返される JSON データの形式に応じて、&data および &data2 は次のようになります。
イメージ:16570.png
イメージ:16571.png










サブページ
Created: 14/09/18 03:09 by Admin Last update: 21/11/07 21:43 by Admin
カテゴリ
Powered by GXwiki 3.0