使用 Get Statuses API 1.1 时呈现推文中的链接

2024-06-22

我正在使用 Twitter API 1.1 获取状态方法从客户网站上的帐户返回最新推文。这工作正常,但我找不到任何关于如何将可能包含的任何链接(包括用户名和包含的链接)呈现为可点击链接的明确文档?

我可以在 JSON 响应中看到任何包含的链接都在 XML 中,但我不清楚如何将可点击链接添加到呈现的输出中。有关新 API 的文档似乎缺乏实际示例。

有人可以建议吗?

我使用的提取最新推文的代码如下:

$token = 'TOKEN HERE';
$token_secret = 'TOKEN SECRET HERE';
$consumer_key = 'CONSUMER KEY HERE';
$consumer_secret = 'CONSUMER SECRET HERE';

$host = 'api.twitter.com';
$method = 'GET';
$path = '/1.1/statuses/user_timeline.json'; // api call path

$query = array( // query parameters
'screen_name' => 'SCREEN NAME HERE',
'count' => '1'
);

$oauth = array(
'oauth_consumer_key' => $consumer_key,
'oauth_token' => $token,
'oauth_nonce' => (string)mt_rand(), // a stronger nonce is recommended
'oauth_timestamp' => time(),
'oauth_signature_method' => 'HMAC-SHA1',
'oauth_version' => '1.0'
);

$oauth = array_map("rawurlencode", $oauth); // must be encoded before sorting
$query = array_map("rawurlencode", $query);

$arr = array_merge($oauth, $query); // combine the values THEN sort

asort($arr); // secondary sort (value)
ksort($arr); // primary sort (key)

// http_build_query automatically encodes, but our parameters
// are already encoded, and must be by this point, so we undo
// the encoding step
$querystring = urldecode(http_build_query($arr, '', '&'));

$url = "https://$host$path";

// mash everything together for the text to hash
$base_string = $method."&".rawurlencode($url)."&".rawurlencode($querystring);

// same with the key
$key = rawurlencode($consumer_secret)."&".rawurlencode($token_secret);

// generate the hash
$signature = rawurlencode(base64_encode(hash_hmac('sha1', $base_string, $key, true)));

// this time we're using a normal GET query, and we're only encoding the query params
// (without the oauth params)
$url .= "?".http_build_query($query);

$oauth['oauth_signature'] = $signature; // don't want to abandon all that work!
ksort($oauth); // probably not necessary, but twitter's demo does it

// also not necessary, but twitter's demo does this too
function add_quotes($str) { return '"'.$str.'"'; }
$oauth = array_map("add_quotes", $oauth);

// this is the full value of the Authorization line
$auth = "OAuth " . urldecode(http_build_query($oauth, '', ', '));

// if you're doing post, you need to skip the GET building above
// and instead supply query parameters to CURLOPT_POSTFIELDS
$options = array( CURLOPT_HTTPHEADER => array("Authorization: $auth"),
//CURLOPT_POSTFIELDS => $postfields,
CURLOPT_HEADER => false,
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => false);

// do our business
$feed = curl_init();
curl_setopt_array($feed, $options);
$json = curl_exec($feed);
curl_close($feed);

$twitter_data = json_decode($json);

非常感谢您的回复。实际上,我找到了一个解决方案,这要归功于阿什维尔的人们的这篇博客文章 -http://www.appliedtns.com/blog/tag/twitter/ http://www.appliedtns.com/blog/tag/twitter/

这对我来说可以。

// Parse any links found in our tweet
$formatted_text = preg_replace('/(\b(www\.|http\:\/\/)\S+\b)/', "<a target='_blank' href='$1'>$1</a>", $post->text);
$formatted_text = preg_replace('/\#(\w+)/', "<a target='_blank' href='http://search.twitter.com/search?q=$1'>#$1</a>", $formatted_text);
$formatted_text = preg_replace('/\@(\w+)/', "<a target='_blank' href='http://twitter.com/$1'>@$1</a>", $formatted_text);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Get Statuses API 1.1 时呈现推文中的链接 的相关文章

  • Ruby 的 Faraday - 多次包含相同的参数

    我正在使用一个 API 该 API 迫使我多次发送相同的参数名称以级联不同的过滤条件 因此 示例 api GET 调用如下所示 GET http api site com search a b1 a b2 a b3 a c2 我使用 Far
  • 过滤条件的查询字符串与资源路径

    背景 我有2个资源 courses and professors A course具有以下属性 ID topic 学期号 年 部分 教授 id A professor具有以下属性 ID 学院 超级用户 名 姓 所以 你可以说一门课程有一位教
  • 在 Win7 登录屏幕上运行应用程序[重复]

    这个问题在这里已经有答案了 我想通过服务在 Windows 7 的登录屏幕上运行应用程序 我对此进行了长期研究并尝试了不同的方法 但不幸的是到目前为止还没有完全成功 我设法在当前登录用户的锁定屏幕上运行该应用程序 起初我认为这就是我基本上试
  • 如何使用 Java 到 TestRail 的 API 将测试用例添加到现有测试运行中?

    我在执行期间创建了一个测试运行 我想在它们开始执行的同时添加测试用例 如果测试用例尚不存在 则已创建 并且该测试用例应该与其他测试用例一起添加到现有的测试运行中 我尝试过使用setCaseIds在运行期间和更新运行之后 但这会覆盖现有的运行
  • Facebook OAuth 验证验证码时有时会发生错误

    我在验证 Facebook 用户身份时遇到一个非常奇怪的问题 基本上它适用于 90 的用户 但对于 10 的用户 我总是收到错误 验证验证码时出错 他们尝试从不同的浏览器 操作系统登录 但总是得到相同的错误 我都是按照书本做的 https
  • 如何使React表中的一列数据可点击?

    我正在使用 React Table React Bootstrap Table 2 在页面中显示表格并使用数据库 API 中的数据填充它 我想让其中一列中的值显示为链接 hrefs 此特定列仅包含 URL 我想要实现的是 如果我单击每行的
  • Tweepy API v2 身份验证

    如何使用 API v2 测试 Tweepy 身份验证 我的下面的代码由于身份验证而无法发布 但是 是否有其他方法可以在不调用发布推文 client create tweet 的情况下测试身份验证 import tweepy bearer t
  • 使用 Get Statuses API 1.1 时呈现推文中的链接

    我正在使用 Twitter API 1 1 获取状态方法从客户网站上的帐户返回最新推文 这工作正常 但我找不到任何关于如何将可能包含的任何链接 包括用户名和包含的链接 呈现为可点击链接的明确文档 我可以在 JSON 响应中看到任何包含的链接
  • Woocommerce REST API 扩展订单响应

    我正在寻找一种扩展 wc api vX orders 响应的方法 我在结帐中添加了多个自定义字段 例如 关系编号 交货日期等 这些元数据保存在订单中 wp postmeta 表 但为什么他们不随 api 返回呢 通常 您可以使用以下代码扩展
  • 如何使用 php Restful 以 api 为中心的内部设计而不是使用 http 请求

    我想创建一个以 php Restful api 为中心的 Web 应用程序 网站 其中有从前端代码调用的数据 api 除了每次加载页面时进行 HTTP curl 请求调用之外 使用 slim 等框架进行内部 API 调用还能做什么 我不确定
  • Jquery 选项卡 - 使用外部 URL 链接

    我正在使用 Jquery UI 选项卡 并且有一个问题 div ul li a href tab 1 span My First Tab span a li li a href tab 2 span My Second Tab span a
  • 从 Zillow API 中提取 Zillow 租金数据

    我正在使用 Zillow API 但在检索租金数据时遇到问题 目前我正在使用 Python Zillow 包装器 但我不确定它是否适用于提取租金数据 这是我使用的 Zillow API 的帮助页面 https www zillow com
  • AuthenticationContext 不包含 AcquireToken 定义?

    我尝试使用 Microsoft Power BI REST API 但没有取得多大进展 因为我对该 API 的经验不是很丰富 据我了解 身份验证上下文是身份模型活动目录的一部分 我三次检查它是否被引用到项目 其余方法运行属性 但没有名为 A
  • SetCookie 标头未存储

    我目前正在制作一个 Web 应用程序 其中 API 为 Node express js 前端为 Vue js 对于身份验证 我设置了 JWT 并通过 cookie HttpOnly 发送值 SetCookie 位于 Chrome Firef
  • 如何使用 C# 向 WordPress 发帖? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想编写一个程序 可以使用 C 通过 POST 方法将数据发布到 WordPress 我不知道该怎么做
  • Hyperlinks.add VBA [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在用 VBA 编程 我想使用创建超链接hyperlink addActiveSheet 对象的方法 但是它不起作用 这是我的代码 set
  • 将位置映射到时区

    我需要获取给定地址 位置的时区 假设如有必要 可以将地址 位置反向地理编码 使用谷歌 为纬度 经度 这意味着我可能没有邮政编码 我真的希望谷歌为此提供某种 API 但似乎他们没有 至少你可以在谷歌上搜索 华盛顿特区的时间 并获取时间 TZ
  • 使用 twitter API 1.1 在 Android 应用程序中显示 twitter feed

    基本上我想展示这个提要 https en twitter com epl live https en twitter com epl live在我的应用程序中 由于 twitter 更改了其 api 1 1 每个调用都必须经过授权 我发现的
  • 如何保持 python 3 脚本 (Bot) 运行

    不是母语英语 抱歉 英语可能很蹩脚 我也是编程新手 您好 我正在尝试使用 QueryServer 连接到 TeamSpeak 服务器来创建机器人 经过几天的努力 它有效 只有 1 个问题 而我却被这个问题困扰了 如果您需要检查 这是我正在使
  • 如何在cj api中根据类别检索产品目录?

    我正在使用 CJ API 我们需要根据类别检索所有产品目录 任何人使用过此类概念请与我分享 更新答案我编写的一个小脚本 用于在 Commission Junction 测试 REST API PHP代码

随机推荐