Twitter連携

Twitterと連携してサーバーにログインするようにできます

手順1
TwitterDeveloperで アカウント登録し、使うアプリを登録します

App name:アプリの名前を入力します
Website URL:アプリのサイトのアドレスを入力します
Allow this application to be used to sign in with Twitter:チェックを入れます
Callback URLs:「twittersdk://」と入力します
Tell us how this app will be used:アプリの内容を英語で入力します
文章はGoogle翻訳で作ったので問題ありません

手順2
Twitter Kit for Unityをインポートします
※エラーを吐いてるスクリプトがある場合 上手くインポートできません
エラーを全て処理してからインポートしてください

手順3
Tools → Twitter Kit for Unityを選択し
API KeyとAPI Secretを入力します

API KeyとAPI Secretは
Developer Portal→登録した名前→Apps→Details→Keys and tokensで確認できます


手順4
インポートしたパッケージの「Twitter」というフォルダ内にある「TwitterInit.cs」を
Scene上のGameObjectにドラッグ&ドロップでアタッチします。


手順5
mBaaSにログインし、アプリ設定→SNS連携→Twitter連携の許可を許可します


手順6
以下のスクリプトを入れます

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using NCMB; // mBaaSを使うのに必要
using TwitterKit.Unity; // TwitterKitを使うのに必要
using TwitterKit.Unity.Settings; // TwitterKitを使うのに必要

public class TwitterLink : MonoBehaviour
{
    TwitterSession session; // Twitterのログイン状況
    NCMBTwitterParameters parameters; // Twitter連携データ

    // Twitterと連携する
    public void TwitterLogin()
    {
        Twitter.Init();
        session = Twitter.Session;
        // TwitterにログインしてなければTwitterログイン画面を出す
        if (session == null)
        {
            //Twitterへログイン
            Twitter.LogIn(
            success =>
            {
                //認証用パラメータの作成
                parameters = new NCMBTwitterParameters(
                  success.id.ToString(),
                  success.userName,
                  TwitterSettings.ConsumerKey,
                  TwitterSettings.ConsumerSecret,
                  success.authToken.token,
                  success.authToken.secret
                );
                NCMBLogin();
            });
        }
        // 既にログインしてる場合ニフクラにログインする
        else
        {
            //認証用パラメータの作成
            parameters = new NCMBTwitterParameters(
              session.id.ToString(),
              session.userName,
              TwitterSettings.ConsumerKey,
              TwitterSettings.ConsumerSecret,
              session.authToken.token,
              session.authToken.secret
            );
            NCMBLogin();
        }
    }

    // Twitter連携を外す
    public void TwitterLogout()
    {
        Twitter.LogOut();
    }

    // ニフクラにログイン
    void NCMBLogin()
    {
        NCMBUser user = new NCMBUser();
        user.AuthData = parameters.param;

        //ニフクラ mobile backendにログイン
        user.LogInWithAuthDataAsync((NCMBException e) =>
        {
            Debug.Log("ログイン成功");
        });
    }
}

TwitterLogin();を実行する事で、ニフクラとTwitterを紐付け連携する事ができます

参考サイト
https://mbaas.nifcloud.com/doc/current/sns/twitter_unity.html

戻る