Oauth 使用Guzzle PHP在Twitter流Api上需要授权

Oauth 使用Guzzle PHP在Twitter流Api上需要授权,oauth,guzzle,twitter-streaming-api,php-7.1,guzzlehttp,Oauth,Guzzle,Twitter Streaming Api,Php 7.1,Guzzlehttp,我想在过滤查询中使用Twitter流Api 下面是我访问的GuzzleHttp文档: <?php use GuzzleHttp\Client; use GuzzleHttp\HandlerStack; use GuzzleHttp\Subscriber\Oauth\Oauth1; $stack = HandlerStack::create(); $middleware = new Oauth1([ 'consumer_key' => 'my_key', '

我想在过滤查询中使用Twitter流Api
下面是我访问的GuzzleHttp文档:

<?php

use GuzzleHttp\Client;
use GuzzleHttp\HandlerStack;
use GuzzleHttp\Subscriber\Oauth\Oauth1;

$stack = HandlerStack::create();

$middleware = new Oauth1([
    'consumer_key'    => 'my_key',
    'consumer_secret' => 'my_secret',
    'token'           => 'my_token',
    'token_secret'    => 'my_token_secret'
]);
$stack->push($middleware);

$client = new Client([
    'base_uri' => 'https://stream.twitter.com/1.1/',
    'handler' => $stack,
    'auth' => 'oauth'
]);

$client->post('statuses/filter.json', [
    'form_params' => [
        'track' => 'some_word_to_track',
    ],
]);

结论:

  • 是因为我不能将GuzzleHttp的Oauth1订阅服务器与 推特流媒体API
  • 或者是因为我在地图上遗漏了什么 认证
PHP Fatal error:  Uncaught GuzzleHttp\Exception\ClientException: 
Client error: 'POST https://stream.twitter.com/statuses/filter.json'
resulted in a '401 Authorization Required' response 
in /Users/.../vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:111