人人網(Renren)アカウントとの連携

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

人人網との連携設定

人人網アプリケーションの作成

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

人人網アプリケーション作成の際には、以下の情報が必要です。

  • アプリケーション名
  • アプリケーションカテゴリー
  • アプリケーションドメイン
  • 説明
  • アプリケーションアイコン(16x16、48x48、75x75、および 100x100 の 4 種類)

人人網アプリケーションの作成が完了すると、人人網の API キー、シークレットキー、および App ID が払い出されます。

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

次の手順に従い、開発者ポータルより 人人網の API キー、シークレットキー、および App ID の登録を行います。

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

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

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

  4. 人人網の API キー、シークレットキー、および App ID を設定します。

人人網アカウントによるログイン

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

  • // Set a Renren access token.
    var options = {
      access_token: __obtained_access_token__
    };
    
    // Authenticate the user to Kii Cloud with the Renren access token.
    KiiSocialConnect.logIn(KiiSocialNetworkName.RENREN, options, {
      success: function(user, network) {
        // Do something.
      },
      failure: function(user, network, errorString) {
        // Handle the error.
      }
    });
  • // Set a Renren access token.
    var options = {
      access_token: __obtained_access_token__
    };
    
    // Authenticate the user to Kii Cloud with the Renren access token.
    KiiSocialConnect.logIn(KiiSocialNetworkName.RENREN, 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. 人人網のアクセストークンを取得します。取得方法については 人人網の公式ドキュメント を参照してください。

  2. 人人網のアクセストークンを、optionsaccess_token パラメーターに設定します。

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

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

Kii アカウントと人人網アカウントのリンク

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

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

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

  • // Assume that a user has logged in.
    
    // Set a Renren access token.
    var options = {
      access_token: __obtained_access_token__
    };
    
    // Link the Renren account with the currently logged-in Kii user.
    KiiSocialConnect.linkCurrentUserWithNetwork(KiiSocialNetworkName.RENREN, options, {
      success: function(user, network) {
        // Do something.
      },
      failure: function(user, network, errorString) {
        // Handle the error.
      }
    });
  • // Assume that a user has logged in.
    
    // Set a Renren access token.
    var options = {
      access_token: __obtained_access_token__
    };
    
    // Link the Renren account with the currently logged-in Kii user.
    KiiSocialConnect.linkCurrentUserWithNetwork(KiiSocialNetworkName.RENREN, 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 アカウントと人人網アカウントのリンク解除

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

  • // Assume that a user has logged in.
    
    // Unlink the Renren account from the currently logged-in Kii user.
    KiiSocialConnect.unLinkCurrentUserFromNetwork(KiiSocialNetworkName.RENREN, {
      success: function(user, network) {
        // Do something.
      },
      failure: function(user, network, errorString) {
        // Handle the error.
      }
    });
  • // Assume that a user has logged in.
    
    // Unlink the Renren account from the currently logged-in Kii user.
    KiiSocialConnect.unLinkCurrentUserFromNetwork(KiiSocialNetworkName.RENREN).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;
      }
    );