直接链接到Twitter转发
我正在开发一个Twitter应用程序,我想找到一种直接链接到转发的方法直接链接到Twitter转发,twitter,Twitter,我正在开发一个Twitter应用程序,我想找到一种直接链接到转发的方法 比如说。如果用户A发了一条推特,而用户B转发了它,我想要一个URL,它将把我们带到用户B的个人资料,在那里显示转发。那唯一的URL是什么?在内部,所有的转发都只是一些特殊的推文。这意味着每个转发也有一个ID(存储在Tweet对象根的ID和ID\u str上) 如果您使用的是推特流(例如,状态/过滤器),您将能够从retweet的返回推特对象中获取此ID。从ID中,您只需使用https://twitter.com//statu
比如说。如果用户A发了一条推特,而用户B转发了它,我想要一个URL,它将把我们带到用户B的个人资料,在那里显示转发。那唯一的URL是什么?在内部,所有的转发都只是一些特殊的推文。这意味着每个转发也有一个ID(存储在Tweet对象根的
ID
和ID\u str
上)
如果您使用的是推特流(例如,状态/过滤器
),您将能够从retweet的返回推特对象中获取此ID。从ID中,您只需使用https://twitter.com//status/
。假设您的Retweet对象名为Retweet
,正确的链接应该是(在JavaScript中)`https://twitter.com/${retweet.user.screen\u name}/status/${retweet.id\u str}`
如果转发是最近的,您可以在用户配置文件上执行状态搜索(search/tweets
)(即,您必须将q
参数设置为from:
)以查找转发。不过,你很可能需要交叉检查你想要的Tweet的ID和你要查找的转发的ID才能确定
但是,如果您试图获取旧Tweet的转发ID,您可能必须使用Twitter的付费高级API。在内部,所有转发都只是特殊的Tweet。这意味着每个转发也有一个ID(存储在Tweet对象根的
ID
和ID\u str
上)
如果您使用的是推特流(例如,状态/过滤器
),您将能够从retweet的返回推特对象中获取此ID。从ID中,您只需使用https://twitter.com//status/
。假设您的Retweet对象名为Retweet
,正确的链接应该是(在JavaScript中)`https://twitter.com/${retweet.user.screen\u name}/status/${retweet.id\u str}`
如果转发是最近的,您可以在用户配置文件上执行状态搜索(search/tweets
)(即,您必须将q
参数设置为from:
)以查找转发。不过,你很可能需要交叉检查你想要的Tweet的ID和你要查找的转发的ID才能确定
但是,如果您试图获取旧推特的转发ID,您可能必须使用推特的付费高级API。我最近需要获取指向任意转发的链接,该转发太旧,搜索功能无法工作 以下是我所做的:
/UserTweets
- 转到“Response”选项卡并手动筛选其JSON,以获取
来创建URL:id\u str
- 或者,将以下内容粘贴到控制台中,然后右键单击响应“复制…响应”,然后返回控制台按Enter键:
UserTweets=JSON.parse(提示(“粘贴复制的响应数据:”);
//从该端点获取输出,
用户推特
//翻开包装,
['data']['user']['result']['timeline']['timeline']['instructions']
//过滤掉“固定推文”元数据,
.filter(cmd=>cmd['type']==“TimelineAddEntries”)
//分批,
.map(cmd=>cmd['entries']).flat()
//过滤掉“游标”元数据,
.filter(条目=>条目['content']['entryType']==“TimeLineItem”)
//然后再翻开一堆又一层的包装,
.map(entry=>entry['content']['itemContent']['tweet_results']['result']
//将推文转换成更有用的格式,
.map(tweet=>[tweet['core']['user']['legacy'],tweet['legacy']]
//过滤掉不转发的内容,
.filter(([user,tweet])=>tweet['retweeted_status_result']))
//只提取转发本身的RT文本和URL,
.map([user,tweet])=>[`https://twitter.com/${user['screen\u name']}/status/${tweet['id\u str']}`,tweet['full\u text']]
//打印结果。
.forEach(([url,rt_text])=>console.log(url,rt_text))
我最近需要获得一个任意转发的链接,该链接太旧,搜索功能无法工作 以下是我所做的:
/UserTweets
- 转到“Response”选项卡并手动筛选其JSON,以获取
来创建URL:id\u str
- 或者,将以下内容粘贴到控制台中,然后右键单击响应“复制…响应”,然后返回控制台按Enter键:
UserTweets=JSON.parse(提示(“粘贴复制的响应数据:”);
//从该端点获取输出,
用户推特
//翻开包装,
['data']['user']['result']['timeline']['timeline']['instructions']
//过滤掉“固定推文”元数据,
.filter(cmd=>cmd['type']==“TimelineAddEntries”)
//分批,
.map(cmd=>cmd['entries']).flat()
//过滤掉“游标”元数据,
.filter(条目=>条目['content']['entryType']==“TimeLineItem”)
//然后再翻开一堆又一层的包装,
.map(entry=>entry['content']['itemContent']['tweet_results']['result']
//将推文转换成更有用的格式,
.map(tweet=>[tweet['core']['user']['legacy'],tweet['legacy']]
//过滤掉不转发的内容,
.filter(([user,tweet])=>tweet['retweeted_status_result']))
//只提取转发本身的RT文本和URL,
.map([user,tweet])=>[`https://twitter.com/${user['screen\u name']}/status/${tweet['id\u str']}`,tweet['full\u te