我只是新手和学习,所以感谢您提供的任何建议:) 我正在制作一个非常简单的工具来从学校项目的 Twitter API 1.1 GET 请求中检索特定数据。我正在使用 J7mbo 的TwitterAPIExchange.php和格式。我创建了一个 HTML 表单来将数据传递给数组,并且可以毫无问题地将请求 POST 到 API。当我将变量输入 PHP 中的 $getfield 时,我还可以成功地将特定数据从 GET 请求打印到 API,但是当我尝试使用表单为 GET 请求发送数据时,出现以下错误:
注意:未定义的偏移量:1 在 /var/www/exp/TwitterAPIExchange.php 第 158 行
警告:在第 31 行的 /var/www/exp/screen1.php 中为 foreach() 提供的参数无效
这是代码:
ini_set('display_errors', 1);
if(!empty($_GET ['screen_name'])) {
require_once('TwitterAPIExchange.php');
$settings = array(
'oauth_access_token' => "MY_KEY_HERE",
'oauth_access_token_secret' => "MY_KEY_HERE",
'consumer_key' => "MY_KEY_HERE",
'consumer_secret' => "MY_KEY_HERE",
);
/** URL for REST request, see: https://dev.twitter.com/docs/api/1.1/ **/
$url = 'https://api.twitter.com/1.1/friends/list.json';
$getfield = $_GET['screen_name'];
$requestMethod = 'GET';
/** Note: Set the GET field BEFORE calling buildOauth(); **/
$twitter = new TwitterAPIExchange($settings);
$response = $twitter->setGetfield($getfield)
->buildOauth($url, $requestMethod)
->performRequest();
##This prints out the fields I am interested in##
$arrResults = json_decode($response,true);
foreach ($arrResults['users'] as $arrSearchResult) {
$strTweet = $arrSearchResult['created_at'] ;
$strTweet1 = $arrSearchResult['screen_name'] ;
print_r("<div class='tweet'>$strTweet $strTweet1</div>");
}
}
?>
<h3>Enter the name here</h3>
<form action="" method="GET">
<input type="text" name="screen_name" /><br />
<input type="submit" />
</form>
所以,我认为该请求在 OAuth 之前格式错误,因为即使我在 OAuth 数组中没有访问密钥,我也会遇到相同的错误。
在对 API 的 POST 请求中,表单数据直接传递到 API 调用数组中,但是 GET 请求的构建方式不同,我没有看到如何将表单数据传递给它。这将正常工作:
$getfield = '?screen_name=TWITTER_SCREEN_NAME';
当我尝试 $getfield = $_GET['screen_name']; 它出错了。感谢您的宝贵时间,如果这个菜鸟的东西很烦人,对不起:3