Twitter アカウントとの連携

Twitter アカウントを用いたユーザー作成・ログインは、開発者ポータル上でアプリケーションの設定を行い、コードに数行追加するだけで簡単に実現できます。

Twitter との連携設定

Twitter アプリケーションの作成

まずは、Twitter アプリケーションを作成し、Twitter コンシューマーキーとコンシューマーシークレットを取得する必要があります。取得方法については Twitter の公式ドキュメント を参照してください。

Twitter アプリケーション作成の際には、以下の情報が必要です。なお、${your-app-id} にはご利用の AppID を入力してください。

  • Name
  • Description
  • Website
  • コールバック URL
    • アメリカ合衆国:https://${your-app-id}.us.kiiapps.com/api/apps/${your-app-id}/integration/webauth/callback
    • 日本:https://${your-app-id}.jp.kiiapps.com/api/apps/${your-app-id}/integration/webauth/callback
    • シンガポール:https://${your-app-id}.sg.kiiapps.com/api/apps/${your-app-id}/integration/webauth/callback
    • ヨーロッパ:https://${your-app-id}.eu.kiiapps.com/api/apps/${your-app-id}/integration/webauth/callback

Twitter アプリの作成が完了すると、Twitter コンシューマーキーとコンシューマーシークレットが払い出されます。

Kii アプリケーションの設定

次の手順に従い、開発者ポータルより Twitter コンシューマーキーとコンシューマーシークレットの登録を行います。

  1. アプリケーションコンソール上で "Edit" ボタンをクリックします。

  2. "SOCIAL NETWORKS" をクリックします。

  3. "Twitter" をクリックし Twitter の設定画面を開きます。

  4. Twitter コンシューマーキーとコンシューマーシークレットを設定します。

Twitter アカウントによるログイン

Twitter アカウントを用いて Kii Cloud にログインする例を以下に挙げます。

  • // Set a Twitter access token and a Twitter secret.
    var options = {
      oauth_token: __obtained_access_token__,
      oauth_token_secret: __obtained_access_token_secret__
    };
    
    // Authenticate the user to Kii Cloud with the Twitter access token and the Twitter secret.
    KiiSocialConnect.logIn(KiiSocialNetworkName.TWITTER, options, {
      success: function(user, network) {
        // Do something.
      },
      failure: function(user, network, errorString) {
        // Handle the error.
      }
    });
  • // Set a Twitter access token and a Twitter secret.
    var options = {
      oauth_token: __obtained_access_token__,
      oauth_token_secret: __obtained_access_token_secret__
    };
    
    // Authenticate the user to Kii Cloud with the Twitter access token and the Twitter secret.
    KiiSocialConnect.logIn(KiiSocialNetworkName.TWITTER, options).then(
      function(params) {
        var user = params[0];
        var network = params[1];
        // Do something.
      }
    ).catch(
      function(error) {
        // Handle the error.
        var errorString = error.message;
        var network = error.network;
      }
    );

基本手順は以下のとおりです。

  1. Twitter のアクセストークンとシークレットを取得します。取得方法については Twitter の公式ドキュメント を参照してください。

  2. Twitter のアクセストークンとシークレットを、optionsoauth_token パラメーターと oauth_token_secret パラメーターにそれぞれ設定します。

  3. logIn() メソッドでログイン処理を実行します。メソッドの引数に、対象のソーシャルネットワークとして KiiSocialNetworkName.TWITTER を指定します。指定されたアカウントが新規の場合、ログイン処理に先立ちユーザー作成処理も同時に行われます。

ログインに成功すると、ユーザーに関する情報は SDK 内部にキャッシュされます。キャッシュされた情報は KiiUser.getCurrentUser() メソッドで取得できます。

Kii アカウントと Twitter アカウントのリンク

すでに存在する Kii Cloud ユーザーを Twitter アカウントとリンクできます。リンクを行うと、このユーザーは Twitter アカウント認証経由で Kii Cloud にログインできるようになります。

以下に、アカウントのリンク処理を行う例を示します。linkCurrentUserWithNetwork() メソッドを実行するだけでアカウントがリンクされます。

なお、この例では Twitter のアクセストークンとシークレットを取得済みであると仮定しています。取得方法については Twitter の公式ドキュメント を参照してください。

  • // Assume that a user has logged in.
    
    // Set a Twitter access token and a Twitter secret.
    var options = {
      oauth_token: __obtained_access_token__,
      oauth_token_secret: __obtained_access_token_secret__
    };
    
    // Link the Twitter account with the currently logged-in Kii user.
    KiiSocialConnect.linkCurrentUserWithNetwork(KiiSocialNetworkName.TWITTER, options, {
      success: function(user, network) {
        // Do something.
      },
      failure: function(user, network, errorString) {
        // Handle the error.
      }
    });
  • // Assume that a user has logged in.
    
    // Set a Twitter access token and a Twitter secret.
    var options = {
      oauth_token: __obtained_access_token__,
      oauth_token_secret: __obtained_access_token_secret__
    };
    
    // Link the Twitter account with the currently logged-in Kii user.
    KiiSocialConnect.linkCurrentUserWithNetwork(KiiSocialNetworkName.TWITTER, options).then(
      function(params) {
        var user = params[0];
        var network = params[1];
        // Do something.
      }
    ).catch(
      function(error) {
        // Handle the error.
        var user = error.target;
        var errorString = error.message;
        var network = error.network;
      }
    );

Kii アカウントと Twitter アカウントのリンク解除

Kii Cloud のユーザーアカウントと Twitter アカウントのリンクを解除する例を以下に示します。unLinkCurrentUserFromNetwork() メソッドを実行するだけでアカウントのリンクが解除されます。

  • // Assume that a user has logged in.
    
    // Unlink the Twitter account from the currently logged-in Kii user.
    KiiSocialConnect.unLinkCurrentUserFromNetwork(KiiSocialNetworkName.TWITTER, {
      success: function(user, network) {
        // Do something.
      },
      failure: function(user, network, errorString) {
        // Handle the error.
      }
    });
  • // Assume that a user has logged in.
    
    // Unlink the Twitter account from the currently logged-in Kii user.
    KiiSocialConnect.unLinkCurrentUserFromNetwork(KiiSocialNetworkName.TWITTER).then(
      function(params) {
        var user = params[0];
        var network = params[1];
        // Do something.
      }
    ).catch(
      function(error) {
        // Handle the error.
        var user = error.target;
        var errorString = error.message;
        var network = error.network;
      }
    );