[英]Why is Twitter's 1.1 API not including entities in my tweets?
如果我在這里遺漏了一些基本信息,請原諒我們的無知,但在將其Twitter API調用更新為1.1之后,我試圖將最后一條推文打印到客戶端的主頁上,並且我能夠做到這一點,但默認情況下不包括實體似乎。 它吐出純文本,沒有標簽和URL周圍的鏈接。 我在這里想念什么嗎?
require_once 'twitteroauth.php';
$twitterConnection = new TwitterOAuth(
'XXX', // Consumer Key
'XXX', // Consumer secret
'XXX', // Access token
'XXX' // Access token secret
);
$twitterData = $twitterConnection->get(
'statuses/user_timeline',
array(
'screen_name' => 'XXX',
'count' => 1,
'exclude_replies' => true
)
);
if($twitterConnection->http_code != 200)
{
$twitterData = get_transient($transName);
}
// Save our new transient.
set_transient($transName, $twitterData, 60 * $cacheTime);
foreach($twitterData as $tweets)
{
return $tweets->text;
}
主要是因為這就是您在編寫代碼時告訴它要做的事情return $tweets->text;
text
幾乎只是tweet的字符串值。 如果要鏈接的主題標簽,則必須迭代$tweets->hashtags
的值。 它是一個對象數組,其中$tweets->hastags[0]->text
是tweet中存在的第一個主題標簽的文本值, $tweets->hashtags[0]->indices
返回格式為[9,15]
$tweets->hashtags[0]->indices
的數組[9,15]
,用於指定主題標簽的位置(開始,停止)及其在tweet中的文本值。
這是一些偽代碼,以顯示如何處理您的請求:
foreach($twitterData as $tweet) {
$text = $tweet->text;
foreach($tweet->hashtag as $hashtag) {
$searchString = $hashtag->text;
$text = linkify($text,$searchString,$hashtag->indices);
}
}
linkify
只是在位置索引處添加類似於<a href="http://twitter.com/search?q='$searchString&src=hash'">
和</a>
,具體取決於您要如何處理鏈接分別為[0]和索引[1]。
當然,您可能會爭辯說,使用正則表達式使用#(a-z_)\\w+
進行過濾要簡單得多,如此處https://stackoverflow.com/a/15540967/1882885所述 ,將其替換為url與我上面寫的類似。
我希望這有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.