見出し画像

第139回: instagramログイン機能の実装。

こんにちは。NGE16です。

今回から、instagramを使ったログイン機能の実装を行なっていきます。
さっそく進めていきましょう。

アプリの登録

instagramのdeveloperページでクライアントIDの取得を行います。

データベースの設定

MySQLにログインして、データベースを作成します。

create database nge16_instagram_php;

ユーザーを作成します。

grant all on nge16_instagram_php. * to dbuser@localhost identified by '******';

作成したデータベースに切り替えます。

use nge16_instagram_php;

テーブルを作成します。

create table users (
  id int not null auto_increment primary key,
  instagram_id int unique,
  instagram_user_name varchar(255),
  instagram_uprofile_picture varchar(255),
  instagram_access_token varchar(255),
  created datetime,
  modified datetime
);

テーブルが正しく作成されていることを確認します。

mysql> desc users;
+----------------------------+--------------+------+-----+---------+----------------+
| Field                      | Type         | Null | Key | Default | Extra          |
+----------------------------+--------------+------+-----+---------+----------------+
| id                         | int(11)      | NO   | PRI | NULL    | auto_increment |
| instagram_id               | int(11)      | YES  | UNI | NULL    |                |
| instagram_user_name        | varchar(255) | YES  |     | NULL    |                |
| instagram_uprofile_picture | varchar(255) | YES  |     | NULL    |                |
| instagram_access_token     | varchar(255) | YES  |     | NULL    |                |
| created                    | datetime     | YES  |     | NULL    |                |
| modified                   | datetime     | YES  |     | NULL    |                |
+----------------------------+--------------+------+-----+---------+----------------+
7 rows in set (0.00 sec)

アプリの設定

config.phpを作成して、データベースのデータを取得する記述を加えていきます。

define('DB_HOST', 'localhost');
define('DB_USER', 'dbuser');
define('DB_PASSWORD', '******');
define('DB_NAME', 'nge16_instagram_php');

instagramのアクセストークン取得の記述を加えていきます。

define('CLIENT_ID', '**********');
define('CLIENT_SECRET', '**********');

今回は以上になります。

次回は画面の作り込みなどを行なっていきたいと思います。
"instagramログイン機能の実装。ver2.0" へ続く。

この記事が気に入ったらサポートをしてみませんか?