jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery.tweet.js插件不起作用,如何显示推文大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在我的网站上使用这个@L_489_0@来显示推文,但即使是@L_489_0@网站也有问题:

http://coda.co.za/content/projects/jquery.twitter/

码:

<div class="columns">
   <pre class="code">
                    jQuery(function($){
                      $("#twitter").tweet({
                        join_text: "auto",username: "Jquery",avatar_size: 48,count: 4,auto_join_text_default: "",auto_join_text_ed: "",auto_join_text_ing: "",auto_join_text_reply: "",auto_join_text_url: "",loading_text: "loading tweets..."
                      });
                    });
        </pre>
  <div id="twitter"></div>

每个第三方@L_489_0@(我认为)都不再起作用了.我也见过:

http://tweet.seaofclouds.com/

那么,替代品会是什么?

如果您访问过上面的链接,您可能已经了解,问题出在哪里.

解决方法

由于twitter已从非认证的1.0 API更改为OAuth 1.1,因此如果您要使用该@L_489_0@,则必须通过PHP代理API请求.

这是代理请求的PHP.在您的站点中将此页面创建为twitter-proxy.PHP,并更新oauth_access_token,oauth_access_token_secret,consumer_key,consumer_secret和screen_name的值以反映您自己的Twitter帐户.

如果您需要创建应用程序以获取这些值,请访问https://dev.twitter.com/apps.

<?PHP
/* Twitter Proxy for updated OAuth */
$config = array(
    //Twitter OAuth config
    'oauth_access_token' => 'get from twitter','oauth_access_token_secret' => 'get from twitter','consumer_key' => 'get from twitter','consumer_secret' => 'get from twitter','base_url' => 'https://api.twitter.com/1.1/',//request specific user
    'screen_name' => 'your_twitter_screenname','count' => 3
);

$twitter_request = 'statuses/user_timeline.json?screen_name='.$config['screen_name'].'&count='.$config['count'];

// Parse $twitter_request into URL parameters
$url_part = parse_url($twitter_request);

/* url_arguments=
* Array
* (
*    [screen_name] => lcherone
*    [count] => 3
* )
*/
parse_str($url_part['query'],$url_arguments);

$base_url = $config['base_url'].$url_part['path'];
$full_url = $config['base_url'].$twitter_request;

// Set up the OAuth authorization array
$oauth = array(
'oauth_consumer_key' => $config['consumer_key'],'oauth_nonce' => time(),'oauth_signature_method' => 'HMAC-SHA1','oauth_token' => $config['oauth_access_token'],'oauth_timestamp' => time(),'oauth_version' => '1.0'
);

// Build vectors for request
$composite_request = _BaseString($base_url,'GET',array_merge($oauth,$url_arguments));
$composite_key     = rawurlencode($config['consumer_secret']).'&'.rawurlencode($config['oauth_access_token_secret']);
$oauth_signature   = base64_encode(hash_hmac('sha1',$composite_request,$composite_key,truE));
$oauth['oauth_signature'] = $oauth_signature;

// Make cURL request
$options = array(
CURLOPT_httpHEADER => array(_AuthorizationHeader($oauth),'Expect:'),CURLOPT_HEADER => false,CURLOPT_URL => $full_url,CURLOPT_RETURNTRANSFER => true,CURLOPT_SSL_VERIFYPEER => false
);

$Feed = curl_init();
curl_setopt_array($Feed,$options);
$result = curl_exec($Feed);
$info = curl_geTinfo($Feed);
curl_close($Feed);

// Send suitable headers to the end user.
if(isset($info['content_type']) && isset($info['size_download'])){
    header('Content-Type: '.$info['content_type']);
    header('Content-Length: '.$info['size_download']);
}
exit($result);

function _BaseString($base_url,$method,$values) {
    $ret = array();
    ksort($values);
    foreach($values as $key=>$value)
    $ret[] = $key."=".rawurlencode($value);
    return $method."&".rawurlencode($base_url).'&'.rawurlencode(implode('&',$ret));
}

function _AuthorizationHeader($oauth) {
    $ret = 'Authorization: OAuth ';
    $values = array();
    foreach($oauth as $key=>$value)
    $values[] = $key.'="'.rawurlencode($value).'"';
    $ret .= implode(',',$values);
    return $ret;
}
?>

现在使用下面的函数替换jquery.tweets.js文件中的现有build_api_url函数,确保替换yoursite.com

function build_api_url() {
      var proto = ('https:' == document.LOCATIOn.protocol ? 'https:' : 'http:');
      var count = (s.fetch === null) ? s.count : s.fetch;
      var common_params = '&callBACk=?';
      if (s.list) {
        return 'http://yoursite.com/twitter-proxy.PHP?url='+s.username[0]+"/lists/"+s.list+"/statuses.json?page="+s.page+"&per_page="+count+common_params;
      } else if (s.favorites) {
        return 'http://yoursite.com/twitter-proxy.PHP?url=favorites.json?screen_name='+s.username[0]+"&page="+s.page+"&count="+count+common_params;
      } else if (s.query === null && s.username.length == 1) {
        return 'http://yoursite.com/twitter-proxy.PHP?url='+encodeURIComponent('statuses/user_timeline.json?screen_name='+s.username[0]+'&count='+count+common_params);
      } else {
        var query = (s.query || 'from:'+s.username.join(' OR from:'));
        return 'http://yoursite.com/twitter-proxy.PHP?url=/search.json?&q='+encodeURIComponent(query)+'&rpp='+count+'&page='+s.page+common_params;
      }
}

更新2014-12-17:截至2014-02-27,Twitter requires the use of SSL to connect to its API servers.我已更新代码以反映这一点.

大佬总结

以上是大佬教程为你收集整理的jquery.tweet.js插件不起作用,如何显示推文全部内容,希望文章能够帮你解决jquery.tweet.js插件不起作用,如何显示推文所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。