dg/twitter-php

小巧简单的PHP Twitter库

维护者

详细信息

github.com/dg/twitter-php

主页

源代码

安装次数: 483 085

依赖者: 14

建议者: 0

安全性: 0

星标: 543

关注者: 61

分支: 151

v4.1.2 2020-05-11 22:48 UTC

This package is auto-updated.

Last update: 2024-09-07 13:54:29 UTC


README

Downloads this Month

Twitter for PHP是一个非常小巧且易于使用的库,用于向Twitter发送消息和接收状态更新。

它需要PHP 5.4或更高版本,并带有CURL扩展,采用新BSD许可证授权。您可以从我们的GitHub仓库获取最新版本,或通过Composer安装。

composer require dg/twitter-php

支持我

你喜欢Nette DI吗?你是否期待新功能?

Buy me a coffee

谢谢!

使用方法

登录到https://twitter.com,并在https://apps.twitter.com页面注册一个应用。请记住,永远不要泄露你的消费者密钥。点击侧边栏中的“我的访问令牌”链接,获取你自己的访问令牌。现在你有消费者密钥、消费者密钥、访问令牌和访问令牌密钥。

使用应用和请求/访问密钥创建对象

use DG\Twitter\Twitter;

$twitter = new Twitter($consumerKey, $consumerSecret, $accessToken, $accessTokenSecret);

send()方法更新你的状态。消息必须使用UTF-8编码

$twitter->send('I am fine today.');

load()方法返回你发布的20条最新状态更新

$statuses = $twitter->load(Twitter::ME);

或你和你朋友发布的

$statuses = $twitter->load(Twitter::ME_AND_FRIENDS);

或对你最新的提及

$statuses = $twitter->load(Twitter::REPLIES);

从通道中提取信息很容易

foreach ($statuses as $status) {
	echo "message: ", Twitter::clickable($status);
	echo "posted at " , $status->created_at;
	echo "posted by " , $status->user->name;
}

静态方法Twitter::clickable()使状态中的链接、提及和哈希标签可点击。

authenticate()方法测试用户凭据是否有效

if (!$twitter->authenticate()) {
	die('Invalid name or password');
}

search()方法提供Twitter状态中的搜索

$results = $twitter->search('#nette');

返回的结果是状态数组。

错误处理

所有方法在发生错误时都会抛出DG\Twitter\Exception

try {
	$statuses = $twitter->load(Twitter::ME);
} catch (DG\Twitter\Exception $e) {
	echo "Error: ", $e->getMessage();
}

附加功能

authenticate()方法测试用户凭据是否有效

if (!$twitter->authenticate()) {
	die('Invalid name or password');
}

其他命令

你可以使用Twitter API 1.1定义的所有命令。例如,GET statuses/retweets_of_me返回认证用户编写的最新推文的数组。

$statuses = $twitter->request('statuses/retweets_of_me', 'GET', ['count' => 20]);

变更日志

v4.1 (11/2019)

  • 添加了删除方法 (#68)
  • token是可选的,并提供get()方法

v4.0 (2/2019)

  • 需要PHP 7.1并使用其优势,如类型提示、严格类型等。
  • 类Twitter现在是DG\Twitter\Twitter
  • 类TwitterException现在是DG\Twitter\Exception

v3.8 (2/2019)

  • Twitter::sendDirectMessage()使用新API
  • Twitter::clickable: 添加对 $status->full_text (#60) 的支持

v3.7 (3/2018)

  • 最低所需的PHP版本更改为5.4
  • Twitter::send()添加了$options
  • Twitter::clickable()现在仅与状态和实体一起工作
  • 修复了编码风格

v3.6 (8/2016)

  • 添加了loadUserFollowersList()和sendDirectMessage()
  • Twitter::send()允许上传多张图片
  • 将http://更改为https://

v3.5 (12/2014)

  • 允许在PHP >= 5.5中同时发送以@开始的消息和上传文件

v3.4 (11/2014)

  • 可以将缓存过期时间指定为字符串
  • 修复了一些错误

v3.3 (3/2014)

  • Twitter::send($status, $image)可以上传图片
  • 添加了Twitter::follow()

v3.2 (1/2014)

  • Twitter API使用SSL OAuth
  • Twitter::clickable()支持媒体
  • 添加了Twitter::loadUserInfoById()和loadUserFollowers()
  • 修复了Twitter::destroy()

v3.1 (3/2013)

  • Twitter::load() - 添加了第三个参数 $data
  • Twitter::clickable()使用实体;作为参数传递状态对象,而不仅仅是文本
  • 增加了 Twitter::$httpOptions 以进行自定义 cURL 配置

v3.0 (12/2012)

  • 更新到 Twitter API 1.1。移除了 Twitter 废弃的一些功能
    • 移除了 RSS、ATOM 和 XML 支持
    • 移除了 Twitter::ALL
    • Twitter::load() - 移除了第三个参数 $page
    • Twitter::search() 需要认证,并返回不同的结构
  • 移除了使用 http://is.gd 短链接功能
  • 改变了 Twitter::request() 参数的顺序为 $resource, $method, $data

v2.0 (8/2012)

  • 增加了对 OAuth 认证协议的支持
  • 增加了 Twitter::clickable(),使链接、@用户名和 #标签可点击
  • 通过 composer require dg/twitter-php 安装

v1.0 (7/2008)

  • 首次发布

(c) David Grudl, 2008, 2016 (https://davidgrudl.com)