OAuth で接続することにより、Twitter アカウントでサインインできる機能を備えた小さな Web アプリを作成しました。数か月間はうまく機能しましたが、今では機能しなくなりました。これは、「Twitter でサインイン」アルゴリズムの概要を簡単にまとめたものです。
- いくつかのパラメーター (タイムスタンプ、ナンス、ある種のアプリケーション ID など) の収集
- このパラメーターを使用して、次のような新しい URL を作成します 。
- その URL に接続してデータを取得すると、アクセス トークンが含まれています
- そのアクセス トークンを使用して楽しいことを続けます。
手順 2 で生成された URL は、手動で Google Chrome にコピーしようとしたため問題なく、美しいアクセス トークンが表示されるため、問題はありません (と思います)。ステップ 3 には、非常に基本的なことを行う非常に小さなメソッドがあります。前に生成された URL に接続し、コンテンツを取得して返します。
私のローカルホストで EasyPHP 12.1 を使用すると、いつものように完全に動作しますが、使用している無料のホスト (000webhost) では動作しなくなりました。接続しようとすると、タイムアウトするだけです。HTTPCodeError は 0 で、CurlError は「ホストに接続できませんでした」です。
これは、URL への接続に使用される方法です。
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
$http_status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$response = curl_exec($ch);
curl_close($ch);
return $response;
そして、これはそのメソッドで使用される URL の例です: https://api.twitter.com/oauth/request_token?oauth_consumer_key=DLZZTIxpY19FnWJNtqw5A&oauth_nonce=1369452195&oauth_signature=DIetumiKqJu66XXVvDDHdepnP9M%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=19=9auth_4.05.13
私は一日中それを修正しようとしてきましたが、今は何を試すべきかさえわかりません. ファイルは、ローカルホストと 000webhost でまったく同じです。あなたが私を啓発することができれば、私はとても幸せです. 必要に応じてズボンを脱いで回答します。どうもありがとうございました。