質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

受付中

Twitter APIでキーワードを表示したい

ytyt
ytyt

総合スコア6

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0回答

0評価

0クリップ

1441閲覧

投稿2017/09/14 06:44

###前提・実現したいこと
http://wp-e.org/2016/06/06/6811/
上記のサイトを参考にして、下記ファイルをアップロードしました。確認をすると
最初は上手く表示がされるのですが、暫くたつ(1日程度?)経過すると表示が消えている、という状態が続いています。。
APIキー等実際には設定されています。

知識不足で、何が原因がわかりません。。。
大変お手数ですが、何かご教授いただけますと幸いです。

###コード

<?php /***** 各種設定 *****/ // 「アプリケーションの設定」で取得した「認証キーとアクセストークン」を設定する $OAUTH_CONSUMER_KEY = "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"; // APIキー $OAUTH_SECRET = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'; // APIシークレットキー $OAUTH_TOKEN = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; // アクセストークン $OAUTH_TOKEN_SECRET = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'; // アクセストークンシークレット // oauth認証で使用するパラメータ $OAUTH_VERSION = "1.0"; $OAUTH_SIGNATURE_METHOD = "HMAC-SHA1"; // Twitter検索をするAPIとMETHODの指定 $TWITTER_API_URL = 'https://api.twitter.com/1.1/search/tweets.json'; // 検索API $REQUEST_COUNT = 1; // 1リクエストで取得するツイート数(最大100個まで) $REQUEST_METHOD = 'GET' ; //検索するキーワードの設定 $SEARCH_KEYWORD = '〇〇◯'; /***** OAuth1.0認証の署名生成 *****/ // キー部分の作成 $oauth_signature_key = rawurlencode($OAUTH_SECRET) . '&' . rawurlencode($OAUTH_TOKEN_SECRET) ; // パラメータの生成・編集 $oauth_nonce = microtime(); $oauth_timestamp = time(); $oauth_signature_param = 'count=' . $REQUEST_COUNT . '&oauth_consumer_key=' . $OAUTH_CONSUMER_KEY . '&oauth_nonce='.rawurlencode($oauth_nonce) . '&oauth_signature_method='. $OAUTH_SIGNATURE_METHOD . '&oauth_timestamp=' . $oauth_timestamp . '&oauth_token=' . $OAUTH_TOKEN . '&oauth_version=' . $OAUTH_VERSION . '&q=' . rawurlencode($SEARCH_KEYWORD); // データ部分の作成 $oauth_signature_date = rawurlencode($REQUEST_METHOD) . '&' . rawurlencode($TWITTER_API_URL) . '&' . rawurlencode($oauth_signature_param); // 上記のデータとキーを使ってHMAC-SHA1方式のハッシュ値に変換 $oauth_signature_hash = hash_hmac( 'sha1' , $oauth_signature_date , $oauth_signature_key , TRUE ) ; // base64エンコードしてOAuth1.0認証の署名作成 $oauth_signature = base64_encode( $oauth_signature_hash ); /***** Authorizationヘッダーの作成 *****/ $req_oauth_header = array("Authorization: OAuth " . 'count=' . rawurlencode($REQUEST_COUNT) . ',oauth_consumer_key=' . rawurlencode($OAUTH_CONSUMER_KEY) . ',oauth_nonce='.str_replace(" ","+",$oauth_nonce) . ',oauth_signature_method='. rawurlencode($OAUTH_SIGNATURE_METHOD) . ',oauth_timestamp=' . rawurlencode($oauth_timestamp) . ',oauth_token=' . rawurlencode($OAUTH_TOKEN) . ',oauth_version=' . rawurlencode($OAUTH_VERSION) . ',q=' . rawurlencode($SEARCH_KEYWORD) . ',oauth_signature='.rawurlencode($oauth_signature)); /***** リクエストURLの作成 *****/ $TWITTER_API_URL .= '?q=' . rawurlencode($SEARCH_KEYWORD) . '&count=' . rawurlencode($REQUEST_COUNT); /***** cURLによるリクエスト実行 *****/ // セッション初期化 $curl = curl_init() ; // オプション設定 curl_setopt( $curl , CURLOPT_URL , $TWITTER_API_URL ) ; // リクエストURL curl_setopt( $curl , CURLOPT_HEADER, false ) ; // ヘッダ情報の受信なし curl_setopt( $curl , CURLOPT_CUSTOMREQUEST , $REQUEST_METHOD ) ; // リクエストメソッド設定 curl_setopt( $curl , CURLOPT_SSL_VERIFYPEER , false ) ; // 証明書検証なし curl_setopt( $curl , CURLOPT_RETURNTRANSFER , true ) ; // curl_execの結果を文字列で返す curl_setopt( $curl , CURLOPT_HTTPHEADER , $req_oauth_header ) ; // リクエストヘッダー設定 curl_setopt( $curl , CURLOPT_TIMEOUT , 5 ) ; // タイムアウトの秒数設定 // セッション実行 $res_str = curl_exec( $curl ) ; // セッション終了 curl_close( $curl ) ; /***** リクエスト実行結果取得 *****/ $res_str_arr = json_decode($res_str, ture) ; // JSONを変換 /***** 検索結果表示 *****/ foreach ($res_str_arr['statuses'] as $twit_result){ $twit_content = $twit_result['text']; /*$twit_time = date("Y-m-d H:i:s",strtotime($twit_result['created_at']));*/ echo '<div class="">' ; echo '<p>' ; echo '「〇〇◯」でのツイートをピックアップ!' ; echo '</p>' ; echo '<div>' ; echo '<div>' ; echo "$twit_content" ; echo '</div>' ; echo '</div>' ; echo '</div>' ; } ?>

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。