2015-12-08 81 views
0

我正在使用thujohn/twitter包使用laravel。 但我想,只要任何註冊使用他們將爲我們提供CONSUMER_KEY和CONSUMER_SECRET,我們將使用該信息發佈鳴叫,鳴叫收藏等是否有任何方法來覆蓋CONSUMER_KEY和CONSUMER_SECRET

但在thujohn /嘰嘰喳喳打包CONSUMER_KEY和CONSUMER_SECRET設定一個時間,這將用於所有用戶,我想使用每個註冊用戶將使用他們自己的消費者細節。

任何一個知道在同一

回答

0

任何解決方案望着你必須重新配置方法的源代碼:

/** 
* Set new config values for the OAuth class like different tokens. 
* 
* @param Array $config An array containing the values that should be overwritten. 
* 
* @return void 
*/ 
public function reconfig($config) 
{ 
    // The consumer key and secret must always be included when reconfiguring 
    $config = array_merge($this->parent_config, $config); 
    parent::reconfigure($config); 
    return $this; 
} 

所以,你可以傳遞一個數組你想要的CONFIGS:

Twitter::reconfigure([ 
    'consumer_key'    => '', 
    'consumer_secret'   => '', 
    'token'      => '', 
    'secret'      => '', 
]); 

此配置將被傳遞給父母,這是另一個庫,稱爲tmhOAuth這裏是代碼爲:

public function reconfigure($config=array()) { 
    // default configuration options 
    $this->config = array_merge(
     array(
      // leave 'user_agent' blank for default, otherwise set this to 
      // something that clearly identifies your app 
      'user_agent'     => '', 
      'host'      => 'api.twitter.com', 
      'method'      => 'GET', 
      'consumer_key'    => '', 
      'consumer_secret'   => '', 
      'token'      => '', 
      'secret'      => '', 
      // OAuth2 bearer token. This should already be URL encoded 
      'bearer'      => '', 
      // oauth signing variables that are not dynamic 
      'oauth_version'    => '1.0', 
      'oauth_signature_method'  => 'HMAC-SHA1', 
      // you probably don't want to change any of these curl values 
      'curl_http_version'   => CURL_HTTP_VERSION_1_1, 
      'curl_connecttimeout'  => 30, 
      'curl_timeout'    => 10, 
      // for security this should always be set to 2. 
      'curl_ssl_verifyhost'  => 2, 
      // for security this should always be set to true. 
      'curl_ssl_verifypeer'  => true, 
      // for security this should always be set to true. 
      'use_ssl'     => true, 
      // you can get the latest cacert.pem from here http://curl.haxx.se/ca/cacert.pem 
      // if you're getting HTTP 0 responses, check cacert.pem exists and is readable 
      // without it curl won't be able to create an SSL connection 
      'curl_cainfo'    => __DIR__ . DIRECTORY_SEPARATOR . 'cacert.pem', 
      'curl_capath'    => __DIR__, 
      // in some cases (very very odd ones) the SSL version must be set manually. 
      // unless you know why your are changing this, you should leave it as false 
      // to allow PHP to determine the value for this setting itself. 
      'curl_sslversion'   => false, 
      'curl_followlocation'  => false, // whether to follow redirects or not 
      // support for proxy servers 
      'curl_proxy'     => false, // really you don't want to use this if you are using streaming 
      'curl_proxyuserpwd'   => false, // format username:password for proxy, if required 
      'curl_encoding'    => '', // leave blank for all supported formats, else use gzip, deflate, identity etc 
      // streaming API configuration 
      'is_streaming'    => false, 
      'streaming_eol'    => "\r\n", 
      'streaming_metrics_interval' => 10, 
      // header or querystring. You should always use header! 
      // this is just to help me debug other developers implementations 
      'as_header'     => true, 
      'force_nonce'    => false, // used for checking signatures. leave as false for auto 
      'force_timestamp'   => false, // used for checking signatures. leave as false for auto 
     ), 
     $config 
    ); 
} 
+0

對不起,但我想你的代碼,並通過consumer_key和consumer_secret但我收到錯誤「[220]您的憑據不允許訪問此資源。」同時我檢查應用程序的權限,但它的適當集合 –

+0

好吧,似乎是設置consumer_key和consumer_secret,你確定你正在爲consumer_key,consumer,token和secret設置適當的值嗎?嘗試激活Twitter調試來檢查日誌https://github.com/thujohn/twitter#debug –

+0

你的意思是說我們必須提供令牌和祕密提供他的consumer_key,consumer_secret –

相關問題