Git Product home page Git Product logo

dhufufu's Introduction

Dhufufu (嘚呼呼~)

Dhufufu~ API Database for a lot of services. Dhufufu 是一个对于几个服务API的拆解与解释,这样方便开发者们使用某些二次开发文档不足的站点提供的有限的API.

API Rating (API评级)

APIs are rated on a level according to their ease of use and implementation details. API将会根据使用的简易程度,和对实现方式的有限的了解(比如通量、频率)进行评级。

Levels have two independant parts, a letter grade from A-F and a number restrictor 0 - 9. API分级分为两个独立的部分,一个A-F的评分,和一个0-9的修正分。两个部分是完全独立的。

  • A : Clear, concise, documented. This type of API is not covered in this project. However there may be links to the documentation, and tips on possible/example uses or API hacks etc.
    非常明了,使用简单,有充足开发文档。这种 API 接口基本不会在本项目中涉及,除非如果需要重新明确某些API条目的意思 或是定义一些API非正式接口/一些使用范例,以及订正API文档实际使用中可能有的一些错误。
  • B : Generally clear and has limited documentation. In this type of API, you may get limited documentation on what the Interfaces do, their return values/format. However no use cases or documentation on how to set up connection to the api is given.
    有限的开发文档。这种API接口有有限的开发文档,可能给出了返回的数据类型/格式/API接口位置等等,但是没有介绍使用方法 或是某些返回值的意思。
  • C : Not very clear, extremely limited documentation or none at all.
    不清晰,很少或没有开发文档。
  • D : No API / Is a WORKING Hack
    没有开放接口。但是有可用的Hack。比如某些站点获取标题,可能有稳定的 HTML 元素包含标题内容于页面上。这种API基本能长期稳定 工作,处理开销较有API的要低,但是也不是特别巨大(可控/线性增长的难度)
  • E : No API / Non-Stable Hack
    没有开放接口,不稳定Hack。比如新浪视频地址反查(给出 cid 反查上传者 user_id),这一类接口往往需要借助概率事件 (比如粗暴的进行字符串Google搜索等)。它不保证能稳定的工作,且处理开销巨大(超线性增长的难度/需引发多次网络请求)。 但是总比没有强吧。
  • F : No Known API / No Known Hack / Exponential or higher difficulty in Hack
    没有开放接口,没有已知的Hack。这种需求往往没有任何办法满足,它的实现复杂度非常巨大,往往需要动用机器学习或者反复搜索。 接口可能稳定也可能不稳定,但是不管是那个情况,都无法在一个APP里面很好的嵌入。有时这种问题来自官方不给出任何信息反查途径 有时这种复杂度的

0 - 9 Corresponds to the "definitiveness" of the rating. 0 is most definitive 9 is least definitive. 0 - 9 表示API定义的权威度和可靠性,0是最可靠,9是最不可靠

dhufufu's People

Contributors

jabbany avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dhufufu's Issues

BGM设置追番进度API失效

[POST] /ep/{$EPID}/{$STATUS_URL}返回404 Not Found。

例:api.bgm.tv/ep/返回
{"request":"\/ep","code":404,"error":"Not Found"}

如果是正常的话例如api.bgm.tv/collection应该返回的是
{"request":"\/collection","code":401,"error":"Unauthorized"}

似乎是更换了位置。

BGM api失效?


[GET] /user/{$UID}/collection?auth={$AUTH_TOKEN}&source=onAir&sysusername={$UID}&sysuid={$UID}

返回的结果为空,没有提示任何错误

Bangumi API 中 Subject 中文名的关键词写错

行 119 写成了 chn,笔误?

我在拆 Windows Phone 版客户端,不用抓包直接静态反编译。

其中 app name 是 bgmOnWp,某些 API 需要这个可能是因为会显示在页面上,比如在 WP 客户端更新进度,时间线上就会显示 Windows Phone 7

Bangumi API 中 Cookies 行为(以及用户信息 API)

chii_sid 似乎并不影响请求,inTouch 的 API 请求中不会携带此 Cookie。
__cfduid 是 CloudFlare CDN 产生的 Cookie,不影响请求。

以及 source 参数必须为 onAir 的地方使用 intouch 也可以。

另外还有一个不需要登录获取用户信息的 API,位置在
[GET] /user/{$UID/USERNAME}

返回的信息和 /auth 类似:

{
    id: 用户UID
    url: 用户空间URL
    username: 用户名(部分用户与 UID 相同)
    nickname: 用户昵称
    avatar:{
        large: 头像、大
        medium: 头像、中
        small: 头像、小
    }
    sign: 签名
}

Bangumi 每日放送列表 API 解析

[GET] http:/api.bgm.tv/calendar

Response JSON

[
    {
        weekday: {
            cn: string, // 中文星期名(星期一,星期二……
            en: string, // 英文短星期名(Mon, Tue......
            id: number, // 序号,从 1 开始,同 subject 中
            jp: string, // 日文星期名
        }, items: [
            {
                air_date: string, // 开始放映日期
                air_weekday: number, // 同 weekday.id
                collection: { }, // 观看人数,懒得打了
                eps: number, // 总话数
                id: number, // Subject ID
                images: { }, // 封面,懒得打了
                name: string, // 日文名
                name_cn: string, // 中文名
                type: number, // 2: 动画, 6: 三次元,代码里只有这两个
                url: string // 连接到页面的 URL
            }, ......
        ]
    }, ......
]

BGM API失效

[GET] /subject/{$ID}返回的结果中的eps只是集数而不是Array了,其他的比如blog topic等也去掉很多明显已经和文档不对了。
于是基本上都拿不到ep的id也就没办法做收看记录了。
[GET] /user/{$UID}/progress?subject_id={$ID}也只是拿到已经收看过的进度而已,基本上API都废完了...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.