【问题标题】:Attaching OAuth1 to GuzzleHttp\Client将 OAuth1 附加到 GuzzleHttp\Client
【发布时间】:2015-12-04 11:51:35
【问题描述】:

我正在尝试升级一个类以使用 GuzzleHttp\Client 来使用 twitter api 搜索推文。我无法附加 Oauth1。它与 Guzzle3 和 OAuthPlugin 配合得很好。

这里是代码块:

        $client = new Client(['base_uri' => 'https://api.twitter.com']);

        $auth = new Oauth1([
            'consumer_key' => Config::get('twitter.consumer_key'),
            'consumer_secret' => Config::get('twitter.consumer_secret'),
            'token' => Config::get('twitter.token'),
            'token_secret' => Config::get('twitter.token_secret')

        ]);

// Not sure if this is correct
$client->getEmitter()->attach($auth); // This is line 40 inside TwitterServiceProvider.php

我收到以下错误:

InvalidArgumentException in Client.php line 80: Magic request methods require a URI and optional options array

1. in Client.php line 80
2. at Client->__call('getEmitter', array()) in TwitterServiceProvider.php line 40

P.S 到目前为止,我认为,我应该使用https://github.com/guzzle/oauth-subscriber。但是,还没有运气。

【问题讨论】:

    标签: php laravel-5.1 guzzle6


    【解决方案1】:

    已解决。

    1. 我无法使用 getEmitter 让它工作。这可能不是正确的方法。
    2. 我切换到guzzle/oauth-subscriber,它现在可以工作了。这里有一个很好的例子:https://github.com/guzzle/oauth-subscriber
    3. base_uri 选项应该有一个斜杠。

    新代码:

            $stack = HandlerStack::create();
    
            $auth = new Oauth1([
                'consumer_key' => Config::get('twitter.consumer_key'),
                'consumer_secret' => Config::get('twitter.consumer_secret'),
                'token' => Config::get('twitter.token'),
                'token_secret' => Config::get('twitter.token_secret')
    
            ]);
    
            $stack->push($auth);
    
            $client = new Client([
                'base_uri' => 'https://api.twitter.com/1.1/',
                'handler' => $stack,
                'auth' => 'oauth'
            ]);
    

    请求如下:

    $client->get('search/tweets.json', [
                                    'query' => ['q' => $query]
                            ]);
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-29
    • 2015-09-22
    • 2017-11-29
    • 1970-01-01
    • 2017-04-08
    • 1970-01-01
    • 1970-01-01
    • 2018-04-02
    相关资源
    最近更新 更多