可行性:更新页面时自动发推文

时间:2010-09-07 12:56:39

标签: php mysql database twitter

在我公司的网站上,我们展示了40张100px X 100px图像,代表了我们所参与的项目。我们有更多150个项目,但主页上只显示40个项目,40个项目的选择是随机。 See Example Here

我们还有一个更新页面,按照添加日期对这40个项目进行排序。 See Here

在这两种情况下,数据都从PHP MySQL数据库中提取出来并在网站上显示。

我们希望获得推特以及重新开发我们的网站,我想知道:

有没有办法将Twitter链接到更新页面,所以当我向数据库添加新项目或更新现有项目时,它会自动发布关于新项目的推文?

提前致谢

1 个答案:

答案 0 :(得分:3)

绝对可以做到;但是,由于Twitter关闭了Basic Auth,您需要设置一个Twitter'app',您将授予(oAuth)访问权限,然后使用该功能发布。它增加了一些复杂性,但它不应该阻止你。

当然,如果您的CMS可以提供​​更新/添加的RSS提要(可能基于该更新页面),您可以使用众多 RSS到Twitter发布服务之一。

我非常喜欢你选择和选择Zend Framework的组件,所以我可能会使用Zend_Service_Twitter这样的东西;然而,这个概念在任何Twitter库上都是类似的(甚至只是直接与Twitter接口,但这似乎是不必要的工作)。

首先 - 正如前面提到的 - 你需要在Twitter上设置应用程序。 developer site应该有帮助。您还需要**授予您新应用访问您要发布到的帐户的权限,您需要的是oAuth访问令牌。

访问令牌用于读/写,您将使用它来设置Twitter库(再次,Zend的文档中的示例,但它应该与其他库类似):

$twitter = new Zend_Service_Twitter(array(
  'username' => 'johndoe',
  'accessToken' => $token
));

然后使用CMS提供的任何数据来创建“更新”帖子。也许是这样的:

$status = "We just updated $projectName, check it out: $projectShortLink";
$response = $twitter->status->update($status);

当然,你需要确保它低于140限制。

这很简单,真正的开销是设置'app'并获取oAuth令牌你需要一个简单的一次性脚本来请求和检索令牌(Zend的文档给出了示例)或者你可以请求{ {3}},但这对您的应用来说似乎有点过头了。

一个潜在的好处 - 因为你正在创建一个应用程序,你可以选择在各种客户端中显示的'via AppName'。