Skip to content

Instantly share code, notes, and snippets.

@noriyukitakei
Created April 3, 2018 02:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save noriyukitakei/f69d82e5035c4985d16a74f4b9d0f9a6 to your computer and use it in GitHub Desktop.
Save noriyukitakei/f69d82e5035c4985d16a74f4b9d0f9a6 to your computer and use it in GitHub Desktop.
OAuthコンシューマー(Twitter)側から呼ばれるOAuthコンシューマー(Facebook)側の投稿API(post_message.php)
<?php
// セッションを開始します。
session_start();
// データベースの接続情報などを定義している共通処理をrequireします。
require_once __DIR__.'/server.php';
// 送付されたアクセストークンが正しいものかどうかを検証します。
// アクセストークンが間違っていたり、有効期限が切れていたりすると、
// ここで処理が終わります。
if (!$server->verifyResourceRequest(OAuth2\Request::createFromGlobals())) {
$server->getResponse()->send();
die;
}
// データベースの接続に必要なPDOインスタンスを作成します。
$pdo = new PDO($dsn, $username, $password);
// アクセストークンを発行したユーザー名を取得します。
$stmt = $pdo->prepare('SELECT user_id FROM oauth_access_tokens WHERE access_token = ?');
$stmt->execute(array($_POST["access_token"]));
$result = $stmt->fetch(PDO::FETCH_ASSOC);
// 投稿内容をデータベースに反映します。
$stmt2 = $pdo->prepare('INSERT INTO messages VALUES(:username,:message)');
$stmt2->execute(array(':message' => $_POST["message"], ':username' => $result["user_id"]));
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment