好的,所以我设法在以前没有 API 等经验的情况下充分利用了这项工作。
这是我的分步指南:
步骤 1.
创建一个 Twitter 列表。
- 转到:https ://twitter.com/username/lists
- 点击“创建列表”
- 输入详细信息并保存。
- 转到您希望添加到列表中的 Twitter 用户,然后单击齿轮下拉菜单并选择“从列表中添加或删除”。勾选列表旁边的复选框。
第 2 步。
通过以下方式创建 Twitter 应用程序:https ://dev.twitter.com/apps/new
- 使用您的 Twitter 凭据登录。
- 为您的应用命名、描述等。
- 转到设置选项卡并将访问类型更改为读取和写入,然后单击“更新此 Twitter 应用程序的设置”。
- 单击页面底部的“创建我的访问令牌”。
您现在将拥有消费者密钥、消费者密码、访问令牌和访问令牌密码。记下这些。
步骤 3.创建 API 令牌。
从https://github.com/abraham/twitteroauth下载 Abraham Twitter oAuth 库并将其安装到您的服务器上(我将使用一个名为“twitter”的文件夹)。
创建一个新文件,在 oAuth 文件夹中将其命名为 authorise.php 并将以下代码放入其中(使用生成的密钥代替命名文本)。(将代码放在 < ? PHP 和 ?> 括号之间)。
// Create our twitter API object
require_once("twitteroauth/twitteroauth.php");
$oauth = new TwitterOAuth('Put-Consumer-Key-here', 'Put-Consumer-secret-here',
'Put-Access-Token-here', 'Put-Access-token-secret-here');
// Send an API request to verify credentials
$credentials = $oauth->get("account/verify_credentials");
echo "Connected as @" . $credentials->screen_name;
// Post our new "hello world" status
$oauth->post('statuses/update', array('status' => "hello world"));
现在,这已授权您的 twitter 应用程序使用 API,并在您的 twitter 帐户上发布了“hello world”状态。
注意:我们之前所做的读/写访问更改允许代码发布状态更新,实际上不需要从 API 中提取列表,但我这样做是为了确保它工作正常。(您可以通过返回“设置”再次关闭此功能)。
第 4 步
。创建 PHP 文件以提取您的列表并缓存文件。
- 创建一个 XML 文件 (YOUR-FILE-NAME.xml) 并将其保存在 oAuth 文件夹中。
- 创建一个 PHP 文件 (YOUR-PHP-FILE.php) 并将其保存在 oAuth 文件夹中
使用您的 twitter API 密钥、文件名和 twitter 列表详细信息编辑以下代码,并将其保存在您的 PHP 文件中。(将代码放在 < ? PHP 和 ?> 括号内)。
/* Twitter keys & secrets here */
$consumer_key = 'INSERT HERE';
$consumer_secret = 'INSERT HERE';
$access_token = 'INSERT HERE';
$access_token_secret = 'INSERT HERE';
// Create Twitter API object
require_once('twitteroauth/twitteroauth.php');
// get access token and secret from Twitter
$oauth = new TwitterOAuth($consumer_key, $consumer_secret, $access_token, $access_token_secret);
// fake a user agent to have higher rate limit
$oauth->useragent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9';
// Send an API request to verify credentials
$credentials = $oauth->get('account/verify_credentials');
echo 'Connected as @' . $credentials->screen_name . '\n';
// Show API hits remaining
$remaining = $oauth->get('account/rate_limit_status');
echo "Current API hits remaining: {$remaining->remaining_hits}.\n";
$ch = curl_init();
$file = fopen("YOUR-FILE-NAME.xml", "w+");
curl_setopt($ch, CURLOPT_URL,'https://api.twitter.com/1/lists/statuses.xml?slug=INSERT-LIST-NAME&owner_screen_name=INSERT-YOUR-TWITTER-USERNAME-HERE&include_entities=true');
curl_setopt($ch, CURLOPT_FILE, $file);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($file);?>
将文件路径复制到浏览器中并进行测试。(例如http://www.yourwebsite.com/twitter/YOUR-PHP-FILE.php)
这应该联系 twitter,将列表作为 XML 文件拉取,并将其保存到 YOUR-FILE-NAME.xml 中。通过打开 XML 文件对其进行测试,它应该具有来自 Twitter 列表中用户的最新状态。
第 5 步:
通过 Cron 作业自动运行 PHP 脚本,使其尽可能频繁地运行(每小时最多 350 次)。
- 打开您的 Cpanel 并单击“Cron 作业”(通常在“高级”下)。
- 您可以使用常用设置选择脚本的规律性。
在命令字段中添加以下代码:
php /home/CPANEL-USERNAME/public_html/WEBSITE/twitter/YOUR-PHP-FILE.php >/dev/null 2>&1
您的脚本现在将按照您选择的频率运行,从 twitter 中提取列表并将其保存到 YOUR-FILE-NAME.xml 中。
第 6 步。
您现在可以从缓存的 XML 文件中提取状态,这意味着您的访问者不会对 API 进行不必要的调用。
如果有人可以提供帮助,我还没有弄清楚如何定位特定的屏幕名称?