有道云笔记 API
    有道云笔记 API
    • 概述
    • 数据模型
    • 授权机制
    • 申请Consumer Key
    • 附录A:有道云笔记内容格式
    • 附录B:错误码及错误信息说明
    • 附录C: OAuth开源类库及有道云笔记SDK
    • 附录D: OAuth签名方法
    • OAuth1.0a授权说明
      • 授权流程
      • 授权请求说明
      • 请求request_token
        GET
      • 请求用户登录授权
        GET
      • 请求Access Token
        GET
    • OAuth2.0授权说明
      • OAuth 2.0授权流程
      • OAuth 2.0授权接口说明
      • 请求用户登陆授权
        GET
      • 获取AccessToken
        GET
      • OAuth1.0a的AccessToken置换成OAuth2.0的AccessToken
        GET
    • 用户操作API
      • 查看用户信息
        GET
    • 笔记本操作API
      • 查看用户全部笔记本
        POST
      • 列出笔记本下的笔记
        POST
      • 创建笔记本
        POST
      • 删除笔记本
        POST
    • 笔记操作API
      • 创建笔记
        POST
      • 查看笔记
        POST
      • 修改笔记
        POST
      • 移动笔记
        POST
      • 删除笔记
        POST
    • 分享操作API
      • 分享笔记链接
    • 附件操作API
      • 上传附件或图片
      • 下载附件/图片/图标

    附录D: OAuth签名方法

    说明#

    1.
    签名的base string由以下内容组成:
    1.
    请求方法名,例如 GET/POST等, 加密时方法名大写并进行特殊替换(详见3)。
    2.
    URL (query parameter之前的部分,不包括 ?),http或者https需要全部小写, http如果带有80端口,或者https带有443端口,需要将其省略。其他端口则不能省略。例如:
          http://local:9999/requestToken
    
          > http://local:9999/requestToken
    
          http://local:80/requestToken
    
          > http://local/requestToken
    
          https://local:443/requestToken
    
          > https://local/requestToken
    3.
    参数(query parameter中的参数以及OAuth参数),首先将这些参数进行特殊替换后,按字典序排序升序排列。如果两个key相同,则以value特殊替换后字典序为准。key与value之间使用”=”连接,如果value==null,则使用空字符串””替代,两个参数对之间使用”&”连接,连接后形成的最终字符串的开头和结尾没有”&”。
    将以上a,b,c三步进行特殊替换后,使用&连接就得到了签名的base string,最终形成的字符串的开头和结尾都没有”&”。
    2.
    签名的key是ConsumerSecret + & + TokenSecret,如果TokenSecret还没有得到,则使用空字符串””。 ConsumerSecret和TokenSecret需先做特殊替换,然后再进行签名。
    3.
    特殊替换是将String进行URL编码后,将”+”替换为”%20”,将”*”替换为”%2A”,将”%7E”替换为”~”.
    4.
    签名方法可以使用HMAC-SHA1,PLAINTEXT, RSA_SHA1三种。其中PLAINTEXT为2中的key. 该方法不提倡使用。 得到签名内容后使用Base64进行编码,编码后的字符串即为oauth_signature。

    Examples:#

    1.
    以获取request_token为例,该请求的基本信息如下:
    **请求URL:**http://note.youdao.com/oauth/request_token
    **请求方式:**GET
    **OAuth参数:**oauth_consumer_key,oauth_signature_method,oauth_timestamp,oauth_nonce,oauth_version
    对应签名的base string为
    GET&http%3A%2F%2Fnote.youdao.com%2Foauth%2Frequest_token&oauth_consumer_key%3D2456f9dd37e162ffe237c8b88739925f%26oauth_nonce%3D1209317042071280%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1343638182%26oauth_version%3D1.0
    2.
    以创建笔记本为例,该请求的基本信息如下:
    **请求URL:**http://note.youdao.com/yws/open/notebook/create.json
    **请求方式:**POST
    **Content Type:**application/x-www-form-urlencoded
    **请求参数:**name=New_Notebook
    **OAuth参数:**oauth_consumer_key,oauth_signature_method,oauth_timestamp,oauth_nonce,oauth_version
    对应签名的base string为
    POST&http%3A%2F%2Fnote.youdao.com%2Fyws%2Fopen%2Fnotebook%2Fcreate.json&name%3DNew_Notebook%26oauth_consumer_key%3D2456f9dd37e162ffe237c8b88739925f%26oauth_nonce%3D1209327240426679%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1343638192%26oauth_token%3D4948a9200d25424566682af4ac8b2c4b%26oauth_version%3D1.0
    上一页
    附录C: OAuth开源类库及有道云笔记SDK
    下一页
    授权流程
    Built with