最近のアクセス:
Graph API とアクセストークンを使用して Facebook からデータをリクエストする方法
ここでは、スマート デバイス アプリケーションで GeneXus を通じて Facebook の GraphAPI を使用する方法を示します。 

手順 1: アプリケーションを登録する

Facebook の開発者サイトにアプリケーションを登録し、Facebook アプリケーション ID を取得します。
詳細については、「スマートデバイスから使用できるように Facebook アプリケーションを登録する方法」を参照してください。

手順 2: Facebook のログインを統合し、アクセストークンをリクエストする

SD Facebook Button コントロールを使用して、エンドユーザーが Facebook の資格情報で GeneXus アプリケーションにログインできるようにします。これにより、ユーザーのアクセストークンを取得し、Graph API を使用してユーザーデータを取得できるようになります。
たとえば、次に示すように、OnUserInfoUpdated イベントを使用してアクセストークンをリクエストできます:
Event &SDFacebookButton.OnUserInfoUpdated
    &FacebookAccessToken = Facebook.AccessToken
Endevent
ここで、&FBAccessToken は FacebookAccessToken SDT に基づきます。
この例では、Graph API を使用してユーザーの投稿を取得します。そのために、開発者は、"user_posts" タグを [ Read Permission ] プロパティに追加します。エンドユーザーがログインしたときに、開発者の意図 (この例ではユーザーの投稿の取得) がユーザーに通知されます。

手順 3: Graph API を使用して Facebook にデータをリクエストする

HttpClient データタイプを使用して GraphAPI データをリクエストするオンラインプロシージャーを記述します。このプロシージャーには、デバイスから取得したアクセストークンとユーザー資格情報の文字列を parm ルールで渡します。
たとえば、プロシージャーの名前を GetUserPosts とし、その parm ルールを次のように定義するとします:
parm(in:&AccessToken, in:&UserId, out:&FBJson);
ソースコードは次のように記述できます:
&FBVersion = !"v2.12" // 必要に応じて変更
&Url = !"https://graph.facebook.com/%version/%user_id/feed?access_token=%access_token"
&Url = &Url.Replace("%version",&FBVersion)
&Url = &Url.Replace("%user_id",&UserId)
&Url = &Url.Replace("%access_token",&AccessToken)
&HttpClient.Execute(HttpMethod.Get,&Url)
&FBJson = &HttpClient.ToString()
その後、次のようにユーザーイベントでこのプロシージャーを呼び出します:
Event 'Get My Posts' &FBJson = GetUserPosts(&FacebookAccessToken.AccessToken, &FacebookAccessToken.UserId) Endevent
その結果、ユーザーがログインしたときに、文字列ベースの &FBJson 変数に次の値が格納されるようになります:
{
   "data":  [ 
      {
         "story": "Damian Salvia is with Pablo Martinez and 5 others.", "created_time": "2018-05-07T16:13:21+0000", "id": "<id>"
      },
      {
         "story": "Stella Marys Pereira Larrosa added a new photo \u2014 with Nicolas Mechulam and 2 others.", "created_time": "2019-07-11T15:12:25+0000", "id": "<id>"
      },
      ...
       ] , 
   "paging": {
      "previous": "https://graph.facebook.com/v2.12/<user_id>/feed?since=<datetime>&access_token=<token>&limit=<number>&__paging_token=<token>&__previous=1", "next": "https://graph.facebook.com/v2.12/<user_id>/feed?access_token=<token>&limit=<number>&until=<datetime>&__paging_token=<token>" }
要件を満たすかどうか結果を解析してください。

使用可能バージョン

Graph API の完全統合は、GeneXus 15 Upgrade 10 以降で使用できます。

参考情報





サブページ
Created: 18/10/29 01:07 by Admin Last update: 19/03/26 22:15 by Admin
カテゴリ
Powered by GXwiki 3.0