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

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


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

推特开发者账号的申请

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


什么是Snowflake?

Snowflake是一种服务,用于为Twitter中的对象(Tweets、Direct Messages、Users、Collections、list等)生成唯一的id。这些id是唯一的64位无符号整数,它们基于时间,而不是顺序的。完整的ID由时间戳、工作编号和序列号组成。在使用JSON使用API时,始终使用字段id_str而不是id是很重要的。这是由于使用JSON的Javascript和其他语言计算大整数的方式所致。如果您遇到一个不符合id和id_str的场景,那是因为您的环境已经解析了id整数,并在过程中修改了数字。请阅读下面的内容,了解更多关于Twitter如何生成id的信息。

问题

一些编程语言(如Javascript)不能支持大于53位的数字。这可以通过在浏览器控制台中运行类似于:(90071992547409921).toString()的命令或通过JSON解析器试运行以下JSON片段。
{"id": 10765432100123456789, "id_str": "10765432100123456789"}
在受影响的JSON解析器中,ID将不会成功转换,并且会失去准确性。 在某些解析器中,甚至可能会有例外。

解决方案

为了允许Javascript和JSON解析器读取ID,Twitter对象在使用JSON响应时包含任何ID的字符串版本。因此,Twitter API中的Status、User、Direct Message、Saved Search和其他id在JSON响应中既作为整数又作为字符串返回。

例如,status对象包含一个id和一个id_str。status对象的以下JSON表示显示了每个数据的id字段的两个版本。

在这里插入图片描述

在这里插入图片描述

可以看到既有id也有id_str

开发人员需要做什么

首先要做的是尝试使用解释器对上面的JSON代码片段进行解码。 观察输出以确认ID没有丢失准确性。

  • 如果您的代码成功地转换了ID而没有失去准确性,您可以接受,但是应该考虑尽快转换为IDs的str版本。

  • 如果代码失去准确性,请将代码转换为使用str版本。如果不这样做,代码将无法可靠地与Twitter API交互。

  • 在某些解释器中,JSON在读取ID值时可能抛出异常。如果在解释器中发生这种情况,您将需要“预分析”数据,删除或用它们的str版本替换ID参数。

总结

1.如果您使用Javascript开发,请知道您将必须更新代码以读取字符串版本而不是整数版本。
2.如果使用JSON解码器,请验证上面的示例JSON是否在不引发异常的情况下解码。如果抛出异常,则需要预分析数据。

链接:https://www.jianshu.com/p/c199f8767d19
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Twitter开发者账号申请被拒【推特开发者文档系列6】——Twitter IDs(snowflake)相关推荐

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

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

  2. 苹果应用程序商店_国内IOS苹果企业开发者账号申请被拒

    国内IOS苹果企业开发者账号申请被拒 PG123hs6 国内IOS苹果企业开发者账号申请被拒 另外,如果需要把放在苹果的上的话,很明显是多么困难和漫长的过程.什么是免签什么.科技是内测对应用程序的苹果 ...

  3. 推特开发者账号 V2【推特开发者文档V2系列1】——获取推特视频播放量

    关于推特开发者账号 elevated academic 请看此贴: 推特开发者账号申请权限 或 搜索微信公众号 twitterDeveloper 获得帮助 当我们在浏览推文的时,总能看见有些推文中包含 ...

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. SAP 序列号与库存关联起来?
  2. 【多线程高并发】深入浅出JMM-Java线程内存模型
  3. python json按输入顺序输出内容
  4. python十点半游戏代码_十点半游戏完整代码及详细注释.py
  5. ESP32使用Arduino环境,安装、编译、下载、安装库
  6. This dependency was not found: * !!vue-style-loader!css-loader?……解决方案
  7. Paip.论语义分析与语义搜索技术.attilax(艾龙)总结
  8. 物联网 毕业设计——方案选择
  9. 将中文转化为GB2312编码
  10. 使用Python比较两个文本文件的相似度
  11. 弘辽科技:刷单越来越不行了吗?
  12. 科技爱好者周刊(第 208 期):晋升制度的问题
  13. app间共享(交互)方法
  14. 第1章第17节:如何使用备注功能对内容进行注释补充 [PowerPoint精美幻灯片实战教程]
  15. 十个关于商业智能商业智能BI的观点,你认同几个?
  16. 论文图片排版 Adobe Illustrator 操作演示
  17. PowerApps教程02-了解软件运行逻辑
  18. 35个极好的高质量PSD源文件网站三
  19. H5的Notification特性
  20. 2022年1月时事政治行业微信视频号企业认证排行榜:中央电视台运营的3个视频号上榜,央视新闻再度蝉联榜首(附月榜TOP20详单)

热门文章

  1. 第一篇 厚黑学 代序一 被忽略的大师
  2. 好的口碑怎么打造?环环相扣的每一步让实在RPA来提效
  3. Noise2Noise: 实验总结——测试简记【去高斯噪声、去文本噪声】
  4. YSLOW(一款实用的网站性能检测工具)
  5. 期刊为何发表造假论文?
  6. html skype加好友代码,自己做skype标签代码 实现更多实用功能_联络聊天
  7. 双十二结束了,程序员如何设计一个秒杀系统?
  8. 【学习笔记】Tensorflow-ENet代码学习(一)
  9. 利用R处理PDF文件
  10. 解决Win7卸载IE11出错的方法