直接链接到Twitter转发

直接链接到Twitter转发,twitter,Twitter,我正在开发一个Twitter应用程序,我想找到一种直接链接到转发的方法 比如说。如果用户A发了一条推特,而用户B转发了它,我想要一个URL,它将把我们带到用户B的个人资料,在那里显示转发。那唯一的URL是什么?在内部,所有的转发都只是一些特殊的推文。这意味着每个转发也有一个ID(存储在Tweet对象根的ID和ID\u str上) 如果您使用的是推特流(例如,状态/过滤器),您将能够从retweet的返回推特对象中获取此ID。从ID中,您只需使用https://twitter.com//statu

我正在开发一个Twitter应用程序,我想找到一种直接链接到转发的方法


比如说。如果用户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,以获取
      id\u str
      来创建URL:

    • 或者,将以下内容粘贴到控制台中,然后右键单击响应“复制…响应”,然后返回控制台按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,以获取
      id\u str
      来创建URL:

    • 或者,将以下内容粘贴到控制台中,然后右键单击响应“复制…响应”,然后返回控制台按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