推特开发者账号申请失败【推特开发者文档系列7】——通过API接口发布、检索推文
文章转自: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接口发布、检索推文相关推荐
- Twitter开发者账号【推特开发者文档系列10】——API参考索引
本系列是对推特开发者文档进行的翻译,以便帮助开发人员使用API接口,难免有些地方存在不足,还请谅解. 关于推特开发者账号 elevated academic 请看此贴: 推特开发者账号申请权限 或 搜 ...
- 推特开发者账号 申请失败 【推特爬虫技术分享1】获取推文评论数量
关于如何获得一个推特开发者账号请看此贴: 推特开发者账号的申请 或 搜索微信公众号 twitterDeveloper 获得帮助 一个正常的推文界面如下图: 从左到右依次是:评论(回复)数量.转发数量. ...
- 百度地图开发者账号申请
本篇文章要完成的效果 一.百度地图开发者账号申请 官网 : 百度地图开放平台 | 百度地图API SDK | 地图开发 (baidu.com) 没有的话注册一下 一般来说使用过百度云 就有百度账号 点 ...
- 李洪强iOS开发之苹果企业开发者账号申请流程
李洪强iOS开发之苹果企业开发者账号申请流程 一. 开发者账号类型选择 邓白氏码 DUNS number,是Data Universal Numbering System的缩写,是一个独一无二的9位数 ...
- 关于推特开发者账号申请的问题和经验
这篇文章主要介绍在最新的推特开发者平台申请账号的流程 首先需要有一个推特账号,其次该推特账号必须是首次申请,因为推特开发者一个账号只能申请一次,申请后被拒绝了将会永远不能申请. 点开如下链接,前提是之 ...
- 推特开发者账号申请 Academic 学术【推特开发者文档V2系列6】——tweepy4 获取推文的点赞列表
关于推特开发者账号 elevated academic 请看此贴: 推特开发者账号申请权限 或 搜索微信公众号 twitterDeveloper 获得帮助 tweepy怎么用看这里: 使用tweepy ...
- Twitter开发者账号申请【推特开发者文档系列5】——Response codes和错误代码
本系列是对推特开发者文档进行的翻译,以便帮助开发人员使用API接口,难免有些地方存在不足,还请谅解. 关于推特开发者账号 elevated academic 请看此贴: 推特开发者账号申请权限 或 搜 ...
- 推特开发者账号【推特开发者文档系列3】——推特标准接口API的请求频率限制说明
本系列是对推特开发者文档进行的翻译,以便帮助开发人员使用API接口,难免有些地方存在不足,还请谅解. 关于推特开发者账号 elevated academic 请看此贴: 推特开发者账号申请权限 或 搜 ...
- Twitter开发者账号【Twitter开发者文档系列3】——推特标准接口API的请求频率限制说明
文章转自:https://www.jianshu.com/p/7071fc888dc9 本系列是对推特开发者文档进行的翻译,以便帮助开发人员使用API接口,难免有些地方存在不足,还请谅解. 关于如何获 ...
最新文章
- 20强名单公布!2021 OceanBase 数据库大赛决赛酣战在即!
- 6月书讯 | 唠嗑也能学数学!
- angular动态选择HTML模板,在angular2中动态加载HTML模板
- JS数组的迭代器方法
- 解决:Access denied for user ‘root‘@‘localhost‘ (using password: YES)
- Windows Phone Developer Registration 开发人员无法连接注册解决
- 大数据思维与数据驱动
- LCD 12864B V2.0的使用
- 控制系统设计专题(一)——PID控制算法
- java中怎么编写一个类_Java入门(8) 创建新类
- Erlang之ETS,DETS入门
- 【Echart】在百度地图中实现飞机航线效果
- 网易人工智能事业部:“悄无声息”再捞金!
- 马尾综合征是腰椎间盘突出患者的严重并发症
- 软硬件一体化超低时延加速方案落地金融,交易场景效果卓著
- 华为云ECS服务器中通过docker部署ELK-kibana
- uniapp 自定义easycom
- 上海泛微软件面试经历
- 你的生日代表什么花的寓意?
- java实现简单数独游戏
热门文章