我正在开发一个应用程序来显示在给定地理位置(纬度和经度)的 1 英里半径内完成的推文。这是我的PHP代码,

<?php
// $lat = $_GET['lat'];
$lat = 26.511740;

// $long = $_GET['long'];
$long = 80.234973;

require_once("twitteroauth/twitteroauth.php"); //Path to twitteroauth library

$notweets = 100;

$consumerkey = "XXXX";
$consumersecret = "XXXX";
$accesstoken = "XXXX-XXXX";
$accesstokensecret = "XXXX";

function getConnectionWithAccessToken($cons_key, $cons_secret, $oauth_token, $oauth_token_secret) {
  $connection = new TwitterOAuth($cons_key, $cons_secret, $oauth_token, $oauth_token_secret);
  return $connection;
}

$connection = getConnectionWithAccessToken($consumerkey,$consumersecret, $accesstoken, $accesstokensecret);

$tweets = $connection->get("https://api.twitter.com/1.1/search/tweets.json?geocode=".$lat.",".$long.",5mi&result_type=recent&count=".$notweets);

// echo $tweets;
echo json_encode($tweets);
?>

我正在使用 Wamp 服务器 (PHP V5.5.12) 并且我的代码运行良好。但是当我在一些免费托管网站上托管我的应用程序时(我已经尝试过 hosts.in 和 000webhost.com),这个脚本会失败并且只打印“null”。

请帮我解决这个问题。

提前致谢。

最佳答案

我已经尝试过hostinger 和000webhost 以及其他几个。它们不起作用的原因是连接到 twitter 的库使用了 php curl,并且许多免费托管已禁用 curl,或者当来自免费托管服务器的 ips 时,传出连接或 twitter 拒绝 curl 连接。对于我在互联网上读到的内容,可能是因为许多黑客一直在使用 twitter 和免费托管帐户进行托管。因此,找到可与 Twitter API 一起使用的带有 cpanel 的免费主机是一个挑战,我尝试了 20 多个但它们不起作用,其中一些会自动删除帐户或文件或阻止 ftp 访问,如果您尝试 curl 到 twitter

关于php - Twitter API 无法用于托管 [在 localhost 上工作正常],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29085271/

10-15 15:19