ソーシャル読み込み

get_results($sql);
foreach ($res as $val) {
$ex_list .= “`url`!='”.$val->url.”‘ and”;

}
$ex_list .= ” `url`!=’http://test'”;

$sql = “SELECT * from `t_social` where “.$ex_list.” order by `date` desc limit 1″;

$res = $wpdb->get_results($sql);
foreach ($res as $photo) {
$add_date=$photo->add_date;
}

?>

mktime(8,0,0) and time() < mktime(23,0,0) ){ ?>
get_results($sql);
/*
// ユーザネームから固有のuser_IDを取得する。
$token = file_get_contents(‘http://humar.co/token/?sns=instagram’);
define(“INSTAGRAM_ACCESS_TOKEN”, $token);

$photos = array();
// 特定ユーザの投稿データ最新5件を取得する
$photos_api_url = ‘https://api.instagram.com/v1/tags/’.rawurlencode(‘ふなぐち’).’/media/recent?access_token=’ . INSTAGRAM_ACCESS_TOKEN . “&count=8”;
$photos_data = json_decode(@file_get_contents($photos_api_url));
$i=1;

foreach ($photos_data->data as $photo) {

$sql = “insert into t_social ( add_date, date,social, name, url,img_url) values (%s,%s,%s,%s,%s,%s)”;
$res = $wpdb->query($wpdb->prepare($sql,date(“Y-m-d H:i:s”), date(“Y-m-d”,$photo->created_time),”instagram”,$photo->user->username, $photo->link,$photo->images->thumbnail->url));

$i++;
}

$photos = array();
// 特定ユーザの投稿データ最新5件を取得する
$photos_api_url = ‘https://api.instagram.com/v1/tags/’.rawurlencode(‘菊水酒造’).’/media/recent?access_token=’ . INSTAGRAM_ACCESS_TOKEN . “&count=8”;
$photos_data = json_decode(@file_get_contents($photos_api_url));
$i=1;

foreach ($photos_data->data as $photo) {

$sql = “insert into t_social ( add_date, date,social, name, url,img_url) values (%s,%s,%s,%s,%s,%s)”;
$res = $wpdb->query($wpdb->prepare($sql,date(“Y-m-d H:i:s”), date(“Y-m-d”,$photo->created_time),”instagram”,$photo->user->username, $photo->link,$photo->images->thumbnail->url));

$i++;
}

$photos = array();
// 特定ユーザの投稿データ最新5件を取得する
$photos_api_url = ‘https://api.instagram.com/v1/tags/’.rawurlencode(‘無冠帝’).’/media/recent?access_token=’ . INSTAGRAM_ACCESS_TOKEN . “&count=8”;
$photos_data = json_decode(@file_get_contents($photos_api_url));
$i=1;

foreach ($photos_data->data as $photo) {

$sql = “insert into t_social ( add_date, date,social, name, url,img_url) values (%s,%s,%s,%s,%s,%s)”;
$res = $wpdb->query($wpdb->prepare($sql,date(“Y-m-d H:i:s”), date(“Y-m-d”,$photo->created_time),”instagram”,$photo->user->username, $photo->link,$photo->images->thumbnail->url));

$i++;
}

$photos = array();
// 特定ユーザの投稿データ最新5件を取得する
$photos_api_url = ‘https://api.instagram.com/v1/tags/’.rawurlencode(‘funaguchi’).’/media/recent?access_token=’ . INSTAGRAM_ACCESS_TOKEN . “&count=8”;
$photos_data = json_decode(@file_get_contents($photos_api_url));
$i=1;

foreach ($photos_data->data as $photo) {

$sql = “insert into t_social ( add_date, date,social, name, url,img_url) values (%s,%s,%s,%s,%s,%s)”;
$res = $wpdb->query($wpdb->prepare($sql,date(“Y-m-d H:i:s”), date(“Y-m-d”,$photo->created_time),”instagram”,$photo->user->username, $photo->link,$photo->images->thumbnail->url));

$i++;
}

$photos = array();
// 特定ユーザの投稿データ最新5件を取得する
$photos_api_url = ‘https://api.instagram.com/v1/tags/’.rawurlencode(‘mukantei’).’/media/recent?access_token=’ . INSTAGRAM_ACCESS_TOKEN . “&count=8”;
$photos_data = json_decode(@file_get_contents($photos_api_url));
$i=1;

foreach ($photos_data->data as $photo) {

$sql = “insert into t_social ( add_date, date,social, name, url,img_url) values (%s,%s,%s,%s,%s,%s)”;
$res = $wpdb->query($wpdb->prepare($sql,date(“Y-m-d H:i:s”), date(“Y-m-d”,$photo->created_time),”instagram”,$photo->user->username, $photo->link,$photo->images->thumbnail->url));

$i++;
}

$photos = array();
// 特定ユーザの投稿データ最新5件を取得する
$photos_api_url = ‘https://api.instagram.com/v1/tags/’.rawurlencode(‘kikusui_brew’).’/media/recent?access_token=’ . INSTAGRAM_ACCESS_TOKEN . “&count=8”;
$photos_data = json_decode(@file_get_contents($photos_api_url));
$i=1;

foreach ($photos_data->data as $photo) {

$sql = “insert into t_social ( add_date, date,social, name, url,img_url) values (%s,%s,%s,%s,%s,%s)”;
$res = $wpdb->query($wpdb->prepare($sql,date(“Y-m-d H:i:s”), date(“Y-m-d”,$photo->created_time),”instagram”,$photo->user->username, $photo->link,$photo->images->thumbnail->url));

$i++;
}

$photos = array();
// 特定ユーザの投稿データ最新5件を取得する
$photos_api_url = ‘https://api.instagram.com/v1/tags/’.rawurlencode(‘kayoigura’).’/media/recent?access_token=’ . INSTAGRAM_ACCESS_TOKEN . “&count=8”;
$photos_data = json_decode(@file_get_contents($photos_api_url));
$i=1;

foreach ($photos_data->data as $photo) {

$sql = “insert into t_social ( add_date, date,social, name, url,img_url) values (%s,%s,%s,%s,%s,%s)”;
$res = $wpdb->query($wpdb->prepare($sql,date(“Y-m-d H:i:s”), date(“Y-m-d”,$photo->created_time),”instagram”,$photo->user->username, $photo->link,$photo->images->thumbnail->url));

$i++;
}
$photos = array();
// 特定ユーザの投稿データ最新5件を取得する
$photos_api_url = ‘https://api.instagram.com/v1/tags/’.rawurlencode(‘kuramostand’).’/media/recent?access_token=’ . INSTAGRAM_ACCESS_TOKEN . “&count=8”;
$photos_data = json_decode(@file_get_contents($photos_api_url));
$i=1;

foreach ($photos_data->data as $photo) {

$sql = “insert into t_social ( add_date, date,social, name, url,img_url) values (%s,%s,%s,%s,%s,%s)”;
$res = $wpdb->query($wpdb->prepare($sql,date(“Y-m-d H:i:s”), date(“Y-m-d”,$photo->created_time),”instagram”,$photo->user->username, $photo->link,$photo->images->thumbnail->url));

$i++;
}
$photos = array();
// 特定ユーザの投稿データ最新5件を取得する
$photos_api_url = ‘https://api.instagram.com/v1/tags/’.rawurlencode(‘通い蔵’).’/media/recent?access_token=’ . INSTAGRAM_ACCESS_TOKEN . “&count=8”;
$photos_data = json_decode(@file_get_contents($photos_api_url));
$i=1;

foreach ($photos_data->data as $photo) {

$sql = “insert into t_social ( add_date, date,social, name, url,img_url) values (%s,%s,%s,%s,%s,%s)”;
$res = $wpdb->query($wpdb->prepare($sql,date(“Y-m-d H:i:s”), date(“Y-m-d”,$photo->created_time),”instagram”,$photo->user->username, $photo->link,$photo->images->thumbnail->url));

$i++;
}
$photos = array();
// 特定ユーザの投稿データ最新5件を取得する
$photos_api_url = ‘https://api.instagram.com/v1/tags/’.rawurlencode(‘クラモトスタンド’).’/media/recent?access_token=’ . INSTAGRAM_ACCESS_TOKEN . “&count=8”;
$photos_data = json_decode(@file_get_contents($photos_api_url));
$i=1;

foreach ($photos_data->data as $photo) {

$sql = “insert into t_social ( add_date, date,social, name, url,img_url) values (%s,%s,%s,%s,%s,%s)”;
$res = $wpdb->query($wpdb->prepare($sql,date(“Y-m-d H:i:S”), date(“Y-m-d”,$photo->created_time),”instagram”,$photo->user->username, $photo->link,$photo->images->thumbnail->url));

$i++;
}
$photos = array();
// 特定ユーザの投稿データ最新5件を取得する
$photos_api_url = ‘https://api.instagram.com/v1/tags/’.rawurlencode(‘節五郎’).’/media/recent?access_token=’ . INSTAGRAM_ACCESS_TOKEN . “&count=8”;
$photos_data = json_decode(@file_get_contents($photos_api_url));
$i=1;

foreach ($photos_data->data as $photo) {

$sql = “insert into t_social ( add_date, date,social, name, url,img_url) values (%s,%s,%s,%s,%s,%s)”;
$res = $wpdb->query($wpdb->prepare($sql,date(“Y-m-d H:i:s”), date(“Y-m-d”,$photo->created_time),”instagram”,$photo->user->username, $photo->link,$photo->images->thumbnail->url));

$i++;
}
*/
?>

‘”節五郎” OR “クラモトスタンド” OR “通い蔵” OR “kuramostand” OR “kayoigura” OR “ふなぐち” OR “菊水酒造” OR “無冠帝” OR “funaguchi” OR “mukantei” OR “kikusui_brew” -@kikusui_pr -RT filter:images’ , // 検索キーワード (必須)
// ‘geocode’ => ‘35.794507,139.790788,1km’ , // 検索キーワード
// ‘lang’ => ‘ja’ , // 対象地域(言語コードで指定)
// ‘locale’ => ‘ja’ , // 検索クエリの言語コード
// ‘result_type’ => ‘popular’ , // 検索クエリの言語コード
‘count’ => ‘100’ , // 取得件数
// ‘until’ => ‘2015-11-17’ , // 最新日時
// ‘since_id’ => ‘598534160928509952’ , // 最古のツイートID
// ‘max_id’ => ‘599056298085224449’ , // 最新のツイートID
‘include_entities’ => ‘true’ , // ツイートオブジェクトのエンティティを含める
// ‘callback’ => ‘syncerAction’ , // コールバック関数名
) ;

// キーを作成する (URLエンコードする)
$signature_key = rawurlencode( $api_secret ) . ‘&’ . rawurlencode( $access_token_secret ) ;

// パラメータB (署名の材料用)
$params_b = array(
‘oauth_token’ => $access_token ,
‘oauth_consumer_key’ => $api_key ,
‘oauth_signature_method’ => ‘HMAC-SHA1’ ,
‘oauth_timestamp’ => time() ,
‘oauth_nonce’ => microtime() ,
‘oauth_version’ => ‘1.0’ ,
) ;

// パラメータAとパラメータBを合成してパラメータCを作る
$params_c = array_merge( $params_a , $params_b ) ;

// 連想配列をアルファベット順に並び替える
ksort( $params_c ) ;

// パラメータの連想配列を[キー=値&キー=値…]の文字列に変換する
$request_params = http_build_query( $params_c , ” , ‘&’ ) ;

// 一部の文字列をフォロー
$request_params = str_replace( array( ‘+’ , ‘%7E’ ) , array( ‘%20’ , ‘~’ ) , $request_params ) ;

// 変換した文字列をURLエンコードする
$request_params = rawurlencode( $request_params ) ;

// リクエストメソッドをURLエンコードする
// ここでは、URL末尾の[?]以下は付けないこと
$encoded_request_method = rawurlencode( $request_method ) ;

// リクエストURLをURLエンコードする
$encoded_request_url = rawurlencode( $request_url ) ;

// リクエストメソッド、リクエストURL、パラメータを[&]で繋ぐ
$signature_data = $encoded_request_method . ‘&’ . $encoded_request_url . ‘&’ . $request_params ;

// キー[$signature_key]とデータ[$signature_data]を利用して、HMAC-SHA1方式のハッシュ値に変換する
$hash = hash_hmac( ‘sha1’ , $signature_data , $signature_key , TRUE ) ;

// base64エンコードして、署名[$signature]が完成する
$signature = base64_encode( $hash ) ;

// パラメータの連想配列、[$params]に、作成した署名を加える
$params_c[‘oauth_signature’] = $signature ;

// パラメータの連想配列を[キー=値,キー=値,…]の文字列に変換する
$header_params = http_build_query( $params_c , ” , ‘,’ ) ;

// リクエスト用のコンテキスト
$context = array(
‘http’ => array(
‘method’ => $request_method , // リクエストメソッド
‘header’ => array( // ヘッダー
‘Authorization: OAuth ‘ . $header_params ,
) ,
) ,
) ;

// パラメータがある場合、URLの末尾に追加
if( $params_a )
{
$request_url .= ‘?’ . http_build_query( $params_a ) ;
}

// オプションがある場合、コンテキストにPOSTフィールドを作成する (GETの場合は不要)
// if( $params_a )
// {
// $context[‘http’][‘content’] = http_build_query( $params_a ) ;
// }

// cURLを使ってリクエスト
$curl = curl_init() ;
curl_setopt( $curl , CURLOPT_URL , $request_url ) ;
curl_setopt( $curl , CURLOPT_HEADER, 1 ) ;
curl_setopt( $curl , CURLOPT_CUSTOMREQUEST , $context[‘http’][‘method’] ) ; // メソッド
curl_setopt( $curl , CURLOPT_SSL_VERIFYPEER , false ) ; // 証明書の検証を行わない
curl_setopt( $curl , CURLOPT_RETURNTRANSFER , true ) ; // curl_execの結果を文字列で返す
curl_setopt( $curl , CURLOPT_HTTPHEADER , $context[‘http’][‘header’] ) ; // ヘッダー
// if( isset( $context[‘http’][‘content’] ) && !empty( $context[‘http’][‘content’] ) ) // GETの場合は不要
// {
// curl_setopt( $curl , CURLOPT_POSTFIELDS , $context[‘http’][‘content’] ) ; // リクエストボディ
// }
curl_setopt( $curl , CURLOPT_TIMEOUT , 5 ) ; // タイムアウトの秒数
$res1 = curl_exec( $curl ) ;
$res2 = curl_getinfo( $curl ) ;
curl_close( $curl ) ;

// 取得したデータ
$json = substr( $res1, $res2[‘header_size’] ) ; // 取得したデータ(JSONなど)
$header = substr( $res1, 0, $res2[‘header_size’] ) ; // レスポンスヘッダー (検証に利用したい場合にどうぞ)

// [cURL]ではなく、[file_get_contents()]を使うには下記の通りです…
// $json = @file_get_contents( $request_url , false , stream_context_create( $context ) ) ;

// JSONをオブジェクトに変換
$obj = json_decode( $json ) ;

// HTML用
$html = ” ;

// エラー判定
if( !$json || !$obj )
{
$html .= ‘

エラー内容

‘ ;
$html .= ‘

データを取得することができませんでした…。設定を見直して下さい。

‘ ;
}

// 検証用
$html .= ‘

取得したデータ

‘ ;
$html .= ‘

下記のデータを取得できました。

‘ ;
$html .= ‘

ボディ(JSON)

‘ ;
$html .= ‘

‘ ;

// 出力 (本稼働時はHTMLのヘッダー、フッターを付けよう)

$i=0;
ini_set(‘display_errors’, 1);
foreach ($obj as $tweet) {

for ($i = 0; $i <= 50; $i++) { $sql = "insert into t_social ( add_date, date,social, name, url,img_url) values (%s,%s,%s,%s,%s,%s)"; $res = $wpdb->query($wpdb->prepare($sql,date(“Y-m-d H:i:s”), date(‘Y-m-d’, strtotime($tweet[$i]->created_at)),”twitter”,$tweet[$i]->user->screen_name,$tweet[$i]->entities->media[0]->url, $tweet[$i]->entities->media[0]->media_url));

$i++;
}

break;
}

?>

data as $feed) {
$feeddata = array();
//画像取得

//希望に近い画像サイズで取得したいので、もう一回APIにアクセスして走査
$img_api_url = ‘https://graph.facebook.com/’.$feed->id.’?fields=picture&access_token=’.FACEBOOK_ACCESS_TOKEN;
$img_data = json_decode(@file_get_contents($img_api_url));

$purl=””;
$purl=$img_data->picture;

$feeddata[‘url’] = $purl;
//パーマリンク
$ids = explode(‘_’, $feed->id);
$feeddata[‘link’] = ‘http://www.facebook.com/’.$ids[0].’/posts/’.$ids[1];
$flink=$feeddata[‘link’];
//テキスト
if(property_exists($feed,’message’)){
$text = mb_substr($feed->message,0,40,’UTF-8′);
//$text = mb_convert_encoding($text, “utf8”, “auto”);
//$text = mb_convert_encoding($text, “utf8”, “utf8″);
$feeddata[‘text’] = $text;
}else{
$feeddata[‘text’] = ”;
}
//日付
$ts = $feed->created_time;
$date = new DateTime($ts);
$fdata = $date->format(‘Y/m/d’);
$feeddata[‘date’] = $date->format(‘Y/m/d’);
$data[] = $feeddata;
$sql = “insert into t_social ( add_date, date,social, name, url,img_url) values (%s,%s,%s,%s,%s,%s)”;
$res = $wpdb->query($wpdb->prepare($sql,date(“Y-m-d H:i:s”), date(‘Y-m-d’, strtotime($fdata )),”facebook”,”kikusui.jp”,$flink, $purl));

}
//echo json_encode($data);
?>

data as $feed) {
$feeddata = array();
//画像取得

//希望に近い画像サイズで取得したいので、もう一回APIにアクセスして走査
$img_api_url = ‘https://graph.facebook.com/’.$feed->id.’?fields=picture&access_token=’.FACEBOOK_ACCESS_TOKEN;
$img_data = json_decode(@file_get_contents($img_api_url));

$purl=””;
$purl=$img_data->picture;

$feeddata[‘url’] = $purl;
//パーマリンク
$ids = explode(‘_’, $feed->id);
$feeddata[‘link’] = ‘http://www.facebook.com/’.$ids[0].’/posts/’.$ids[1];
$flink=$feeddata[‘link’];
//テキスト
if(property_exists($feed,’message’)){
$text = mb_substr($feed->message,0,40,’UTF-8′);
//$text = mb_convert_encoding($text, “utf8”, “auto”);
//$text = mb_convert_encoding($text, “utf8”, “utf8″);
$feeddata[‘text’] = $text;
}else{
$feeddata[‘text’] = ”;
}
//日付
$ts = $feed->created_time;
$date = new DateTime($ts);
$fdata = $date->format(‘Y/m/d’);
$feeddata[‘date’] = $date->format(‘Y/m/d’);
$data[] = $feeddata;
$sql = “insert into t_social ( add_date, date,social, name, url,img_url) values (%s,%s,%s,%s,%s,%s)”;
$res = $wpdb->query($wpdb->prepare($sql,date(“Y-m-d H:i:s”), date(‘Y-m-d’, strtotime($fdata )),”facebook”,”KuramotoStand.Kayoigura”,$flink, $purl));

}
//echo json_encode($data);
?>
query($sql);

?>