saturn/twarpy

一个简单小巧的PHP库,用于访问Twitter REST API

2.0.1 2015-12-22 11:43 UTC

This package is not auto-updated.

Last update: 2024-09-14 17:48:25 UTC


README

一个简单的PHP库,用于使用3-Legged OAuth或仅应用令牌访问Twitter的REST API(v1.1)。

要求

  • PHP >= version 5.3。
  • Curl扩展。

安装

有两种方式安装Twarpy。如果你更喜欢使用composer,只需在项目的根目录下在终端运行以下命令

$ composer require saturn/twarpy

你也可以在composer.json文件中将它作为依赖项包含,然后运行composer update

{
    "require": {
        "saturn/twarpy": "^2.0"
    }
}

你也可以直接下载源代码并将其手动包含到项目目录中,或者克隆此存储库

$ git clone git://github.com/pkrll/Twarpy.git

如果你已使用Composer安装了Twarpy,你可以使用自动加载器

use Twarpy\Twarpy;
include __DIR__ . "/vendor/autoload.php";

用法

  • 第一步是在Twitter上注册你的应用程序。
  • 复制消费者密钥和消费者密钥(永远不要将这些密钥与任何人分享)。
使用3-Legged OAuth
  • 使用3-Legged OAUth流程允许应用程序代表用户读取或发布到Twitter。但用户必须对每个请求进行认证。
  • 要使用此认证方法初始化Twarpy,你需要之前收集的消费者密钥和密钥令牌以及一个oauth令牌和oauth密钥。如果用户尚未认证应用程序,他们将被重定向到Twitter.com。在授权后,应用程序将收集新授予的访问令牌(请记住,通过使用方法getAccessToken()检索令牌后保存令牌,以便用户不需要手动对每个请求进行认证)。
  • 创建一个新的Twarpy对象,包含一个包含配置的数组和一个表示认证方法的常量
$config = array(
  "consumer_key"    => "YOURCONSUMERKEY",
  "consumer_secret" => "YOURCONSUMERSECRET"
);
$Twarpy = new Twarpy($config, THREE_LEGGED);
// Save the oauth token and oauth token secret The next time you
// run Twarpy for that user you can include the tokens in the config array.
$tokens = $Twarpy->getAccessToken(); // returns array("access_token" => ???, "token_secret" => ???)
  • 下次你想代表该用户进行API调用时,可以在$config-数组中包含检索到的令牌
$config = array(
  "consumer_key"    => "YOURCONSUMERKEY",
  "consumer_secret" => "YOURCONSUMERSECRET",
  "access_token"    => "YOURACCESSTOKEN",
  "token_secret"    => "YOURSECRETTOKEN"
);
$Twarpy = new Twarpy($config, THREE_LEGGED);
使用仅应用认证
  • 应用仅认证方法与3-Legged方法类似,但不需要用户认证应用程序。此认证方法不允许进行需要用户上下文的请求,例如创建或删除推文。
  • 要使用此认证方法初始化Twarpy,你需要之前收集的消费者密钥和密钥令牌。
  • 创建Twarpy对象,并使用常量APP_ONLY作为第二个参数
$config = array(
  "consumer_key"    => "YOURCONSUMERKEY",
  "consumer_secret" => "YOURCONSUMERSECRET"
);
$Twarpy = new Twarpy($config, APP_ONLY);

$tokens = $Twarpy->getAccessToken();
// returns array("access_token" => ???)
  • 保存访问令牌以加快请求速度,并将其包含在$config-数组中,键为access_token(请注意,此方法不需要密钥令牌)。
$config = array(
  "consumer_key"    => "YOURCONSUMERKEY",
  "consumer_secret" => "YOURCONSUMERSECRET",
  "access_token"    => "YOURACCESSTOKEN"
);
$Twarpy = new Twarpy($config, APP_ONLY);
进行请求

向Twitter API发送请求非常简单。你需要的是HTTP方法(GET/POST)、API路径以及如果需要,参数数组。请参考Twitter API文档以获取可用的请求。

$params = array("screen_name" => "twitter");
$data = $Twarpy->request('statuses/user_timeline', 'GET', $params);
示例请求
use Twarpy\Twarpy;
include __DIR__ . "/vendor/autoload.php";

$config = array(
    'consumer_key'      => "YOURCONSUMERKEY",
    'consumer_secret'   => "YOURCONSUMERSECRET",
    'access_token'      => 'YOURACCESSTOKEN',
    'token_secret'      => 'YOURSECRETTOKEN'
);

try {
    $twarpy = new Twarpy($config, THREE_LEGGED);
    $tweet  = array("status" => "Testing Twarpy! #Twarpy");
    $data   = $twarpy->request('statuses/update', 'POST', $tweet);
    print_r($data);
} catch (Exception $e) {
    print_r($e->getMessage());
}

作者

  • Twarpy是Ardalan Samimi的杰作。