文章转自:https://www.jianshu.com/p/2c208994ff9a

本系列是对推特开发者文档进行的翻译,以便帮助开发人员使用API接口,难免有些地方存在不足,还请谅解。


关于如何获得一个推特开发者账号请看此贴:

推特开发者账号的申请

搜索微信公众号 推特开发者 获得帮助


Post, retrieve, and engage with Tweets

通过以下API接口可以通过编程的方式创建、检索和删除Tweets、Retweets和Like:

Tweets(发推文) Retweets(转推) Likes(点赞)
POST statuses/update
POST statuses/destroy/:id
GET statuses/show/:id
GET statuses/oembed
GET statuses/lookup
POST statuses/retweet/:id
POST statuses/unretweet/:id
GET statuses/retweets/:id
GET statuses/retweets_of_me
GET statuses/retweeters/ids
POST favorites/create/:id
POST favorites/destroy/:id
GET favorites/list

有关更多详细信息,请参阅 API文档部分中的各个端口信息 。


示例

通过API发推文

对于每次更新尝试,都会将更新文本与验证用户的最新推文进行比较。 任何可能导致重复的尝试都将被阻止,从而导致403错误。 用户不能连续两次提交相同的状态。(一次POST有且仅生效一次)

尽管不受API的速率限制,但用户一次只能创建的Tweets数量受到限制。 如果用户发布的更新数量达到当前允许的限制,则此方法将返回HTTP 403错误。

关于地理位置

  • 如果为用户提供的geo_enabled为false(此设置是所有用户的默认设置,除非用户已在其设置中启用地理定位),更新中的所有地理标记参数都将被忽略。
  • lat跟踪传递给小数点分隔符后的位数(最多8位),以便当lat在状态对象中返回时,小数点分隔符后将具有相同的位数。
  • 使用小数点作为纬度和经度的分隔符(而不是小数逗号)
  • 对于JSON,响应主要使用GeoJSON中描述的约定。 但是,Twitter渲染的geo对象坐标与GeoJSON规范相反。 GeoJSON指定了一个经度然后是一个纬度,而Twitter则将其表示为一个纬度然后是经度:“ geo”:{“ type”:“ Point”,“ coordinates”:[37.78217,-122.40062]}
  • coordinates对象将替换geo对象(尚未设置geo对象的弃用日期)-区别在于,coordinates对象(以JSON)现在可以在GeoJSON中正确呈现。
  • 如果将place_id传递到状态更新中,则该位置将附加到状态中。 如果未明确提供place_id,但提供了纬度和经度,则API会尝试通过调用geo / reverse_geocode隐式提供位置。
  • 用户可以通过用户设置页面从其所有推文中删除所有地理标签。 目前,尚无从单个Tweet移除地理标签的方法。

接口url

https://api.twitter.com/1.1/statuses/update.json

资源信息

响应格式 Json
是否需要认证 是(仅限用户上下文)
频率限制
请求/3小时窗口期 每位用户300 ;每个应用300

注:每3小时300次的限制是POST statuses/retweet/:id :端点数目的总和。 您在3个小时内只能发布300条Tweets或Retweets。

参数

名称 是否必要 描述 默认值 示例
status 需要 状态更新的文本。 URL根据需要进行编码。 t.co链接换行将影响字符计数。
in_reply_to_status_id 可选 更新正在答复的现有状态的ID。注意:此参数将被忽略,除非状态文本中提到此参数引用的Tweet的作者。因此,您必须在更新中包含@username,其中username是引用Tweet的作者。
auto_populate_reply_metadata 可选 如果设置为true并与in_reply_to_status_id一起使用,则将从原始Tweet中查找前导@提到,并从此处添加到新Tweet中。随着回复链的增长,这将在扩展Tweet的元数据中追加@insertions,直到达到@insertions的限制。如果原始推文被删除,回复将失败。 false true
exclude_reply_user_ids 可选 当与auto_populate_reply_元数据一起使用时,一个逗号分隔的用户id列表将从服务器上删除,该列表将在扩展的Tweet上显示@references前缀。请注意,不能删除前导的@notice,因为它会破坏in reply to status id语义。尝试删除它将被忽略。   786491,54931584
lat 可选 此Tweet所指位置的纬度。此参数将被忽略,除非它在-90.0到+90.0(北为正)范围内。如果没有相应的long参数,也将忽略它。   37.7821120598956
long 可选 此Tweet所指位置的经度。经度的有效范围是-180.0到+180.0(东为正)。如果超出该范围,如果不是数字,如果启用了地理坐标,或者没有相应的lat参数,则将忽略此参数。   -122.400612831116
place_id 可选 世界上的一个地方   df51dec6f4ee2b2c
display_coordinates 可选 是否在发送推文的确切坐标上放置图钉。   true
trim_user 可选 当设置为true、t或1时,响应将包含仅包含作者ID的用户对象。省略此参数可接收完整的用户对象。 false true
enable_dmcommands 可选 设置为true时,启用快捷方式命令,将直接消息作为状态文本的一部分发送给用户。如果设置为false,则禁用此行为,并在发布的状态文本中包含任何前导字符 false true
fail_dmcommands 可选 设置为true时,使以shortcode命令开头的任何状态文本都返回API错误。 设置为false时,允许在状态文本中发送简码命令并由API进行操作。 true false
card_uri 可选 使用来自任何广告卡响应的card-uri值将广告卡与Tweet关联。   card://853503245793641682
attachment_url 可选 为了使URL不计入扩展Tweet的状态正文中,请提供一个URL作为Tweet附件。此URL必须是Tweet永久链接或直接消息深度链接。任意的非Twitter url必须保留在状态文本中。传递给attachment_url参数的url与Tweet permalink或Direct Message deep link不匹配,将在创建Tweet时失败并导致异常。   https://twitter.com/andypiper/status/903615884664725505
media_ids 可选 与Tweet关联的media_id的逗号分隔列表。 您最多可以在Tweet中包含4张照片或1个GIF动画或1个视频。 有关上传媒体的更多详细信息,请参见上传媒体。   471592142565957632
possibly_sensitive 可选 如果上载的Tweet媒体可能被视为敏感内容(如裸体或医疗程序),则必须将此值设置为true。有关更多内容,请参见媒体设置和最佳实践。 false true

请求示例

要获取生成的oauth_nonce,oauth_token和oauth_signature,可以使用REST工具,例如Insomnia或Postman。

curl -XPOST --url 'https://api.twitter.com/1.1/statuses/update.json?status=hello' --header 'authorization: OAuthoauth_consumer_key="oauth_customer_key",oauth_nonce="generated_oauth_nonce",oauth_signature="generated_oauth_signature",oauth_signature_method="HMAC-SHA1",oauth_timestamp="generated_timestamp",oauth_token="oauth_token",oauth_version="1.0"'

很多人想把状态从“hello”改成其他的。

您还可以使用任何其他想要的OAuth帮助程序库,比如twurl。
$ twurl -d 'status=Test tweet using the POST statuses/update endpoint' /1.1/statuses/update.json

响应例子

请求成功后,将返回以下内容:

{"created_at": "Wed Oct 10 20:19:24 +0000 2018","id": 1050118621198921700,"id_str": "1050118621198921728","text": "To make room for more expression, we will now count all emojis as equal—including those with gender‍‍‍ ‍‍and skin t… https://t.co/MkGjXf9aXm","source": "<a href="http://twitter.com" rel="nofollow">Twitter Web Client</a>","truncated": true,"in_reply_to_status_id": null,"in_reply_to_status_id_str": null,"in_reply_to_user_id": null,"in_reply_to_user_id_str": null,"in_reply_to_screen_name": null,"user": {"id": 6253282,"id_str": "6253282","name": "Twitter API","screen_name": "TwitterAPI","location": "San Francisco, CA","url": "https://developer.twitter.com","description": "The Real Twitter API. Tweets about API changes, service issues and our Developer Platform. Don't get an answer? It's on my website.","translator_type": "null","derived": {"locations": [{"country": "United States","country_code": "US","locality": "San Francisco","region": "California","sub_region": "San Francisco County","full_name": "San Francisco, California, United States","geo": {"coordinates": [-122.41942,37.77493],"type": "point"}}]},"protected": false,"verified": true,"followers_count": 6172196,"friends_count": 12,"listed_count": 13003,"favourites_count": 31,"statuses_count": 3650,"created_at": "Wed May 23 06:01:13 +0000 2007","utc_offset": null,"time_zone": null,"geo_enabled": false,"lang": "en","contributors_enabled": false,"is_translator": null,"profile_background_color": "null","profile_background_image_url": "null","profile_background_image_url_https": "null","profile_background_tile": null,"profile_link_color": "null","profile_sidebar_border_color": "null","profile_sidebar_fill_color": "null","profile_text_color": "null","profile_use_background_image": null,"profile_image_url": "null","profile_image_url_https": "https://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg","profile_banner_url": "https://pbs.twimg.com/profile_banners/6253282/1497491515","default_profile": false,"default_profile_image": false,"following": null,"follow_request_sent": null,"notifications": null},"geo": null,"coordinates": null,"place": null,"contributors": null,"is_quote_status": false,"extended_tweet": {"full_text": "To make room for more expression, we will now count all emojis as equal—including those with gender‍‍‍ ‍‍and skin tone modifiers 												

推特开发者账号申请失败【推特开发者文档系列7】——通过API接口发布、检索推文相关推荐

  1. Twitter开发者账号【推特开发者文档系列10】——API参考索引

    本系列是对推特开发者文档进行的翻译,以便帮助开发人员使用API接口,难免有些地方存在不足,还请谅解. 关于推特开发者账号 elevated academic 请看此贴: 推特开发者账号申请权限 或 搜 ...

  2. 推特开发者账号 申请失败 【推特爬虫技术分享1】获取推文评论数量

    关于如何获得一个推特开发者账号请看此贴: 推特开发者账号的申请 或 搜索微信公众号 twitterDeveloper 获得帮助 一个正常的推文界面如下图: 从左到右依次是:评论(回复)数量.转发数量. ...

  3. 百度地图开发者账号申请

    本篇文章要完成的效果 一.百度地图开发者账号申请 官网 : 百度地图开放平台 | 百度地图API SDK | 地图开发 (baidu.com) 没有的话注册一下 一般来说使用过百度云 就有百度账号 点 ...

  4. 李洪强iOS开发之苹果企业开发者账号申请流程

    李洪强iOS开发之苹果企业开发者账号申请流程 一. 开发者账号类型选择 邓白氏码 DUNS number,是Data Universal Numbering System的缩写,是一个独一无二的9位数 ...

  5. 关于推特开发者账号申请的问题和经验

    这篇文章主要介绍在最新的推特开发者平台申请账号的流程 首先需要有一个推特账号,其次该推特账号必须是首次申请,因为推特开发者一个账号只能申请一次,申请后被拒绝了将会永远不能申请. 点开如下链接,前提是之 ...

  6. 推特开发者账号申请 Academic 学术【推特开发者文档V2系列6】——tweepy4 获取推文的点赞列表

    关于推特开发者账号 elevated academic 请看此贴: 推特开发者账号申请权限 或 搜索微信公众号 twitterDeveloper 获得帮助 tweepy怎么用看这里: 使用tweepy ...

  7. Twitter开发者账号申请【推特开发者文档系列5】——Response codes和错误代码

    本系列是对推特开发者文档进行的翻译,以便帮助开发人员使用API接口,难免有些地方存在不足,还请谅解. 关于推特开发者账号 elevated academic 请看此贴: 推特开发者账号申请权限 或 搜 ...

  8. 推特开发者账号【推特开发者文档系列3】——推特标准接口API的请求频率限制说明

    本系列是对推特开发者文档进行的翻译,以便帮助开发人员使用API接口,难免有些地方存在不足,还请谅解. 关于推特开发者账号 elevated academic 请看此贴: 推特开发者账号申请权限 或 搜 ...

  9. Twitter开发者账号【Twitter开发者文档系列3】——推特标准接口API的请求频率限制说明

    文章转自:https://www.jianshu.com/p/7071fc888dc9 本系列是对推特开发者文档进行的翻译,以便帮助开发人员使用API接口,难免有些地方存在不足,还请谅解. 关于如何获 ...

最新文章

  1. 20强名单公布!2021 OceanBase 数据库大赛决赛酣战在即!
  2. 6月书讯 | 唠嗑也能学数学!
  3. angular动态选择HTML模板,在angular2中动态加载HTML模板
  4. JS数组的迭代器方法
  5. 解决:Access denied for user ‘root‘@‘localhost‘ (using password: YES)
  6. Windows Phone Developer Registration 开发人员无法连接注册解决
  7. 大数据思维与数据驱动
  8. LCD 12864B V2.0的使用
  9. 控制系统设计专题(一)——PID控制算法
  10. java中怎么编写一个类_Java入门(8) 创建新类
  11. Erlang之ETS,DETS入门
  12. 【Echart】在百度地图中实现飞机航线效果
  13. 网易人工智能事业部:“悄无声息”再捞金!
  14. 马尾综合征是腰椎间盘突出患者的严重并发症
  15. 软硬件一体化超低时延加速方案落地金融,交易场景效果卓著
  16. 华为云ECS服务器中通过docker部署ELK-kibana
  17. uniapp 自定义easycom
  18. 上海泛微软件面试经历
  19. 你的生日代表什么花的寓意?
  20. java实现简单数独游戏

热门文章

  1. pygame实现百变魔方
  2. 解密百度等搜索引擎的工作原理 SEO培训SEO优化课程
  3. ForwardX Robotics筹集1千万美元准备将自动行李箱推向市场
  4. WordPress 网站 备份和恢复方法
  5. 串口线传输距离之讨论
  6. java 复制图片到剪切板
  7. 关于厦门宽带用户升级了FTTH光纤入户,从别的地方拿来的ITV机顶盒没有办法使用的解决办法...
  8. 在 drawable 资源中使用属性引用的兼容问题
  9. 基于 Formily 的表单设计器实现原理分析
  10. 基于FPGA的高精度数字信号发生器