微信开放平台开发(微信开放平台:朋友圈API参考文档)

发布时间:2016-12-10 11:23:44 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"微信开放平台开发(微信开放平台:朋友圈API参考文档)",主要涉及到微信开放平台开发(微信开放平台:朋友圈API参考文档)方面的内容,对于微信开放平台开发(微信开放平台:朋友圈API参考文档)感兴趣的同学可以参考一下。

用户授权 客户端的授权流程 针对没有后台服务器的 App 类型,如移动平台的 App 应用,微信使用 OAuth2.0 的 Implicit Grant 方式授权,流程如下: 用户访问第三方应用,使用到分享至微信朋友圈的功能,应用检测到没有用户的授权信息,于是将用户引导至授权页面;当用户未登录时,将要求先登录,否则继续下一步;授权页面为一个对话框,显示应用信息以及请求的访问权限,并提示用户选择允许或拒绝;对话框将重定向回应用,若授权成功则带上 Access Token,否则带上相应的错误码。 客户端授权流程得到的 Access Token 有效期为 2 小时,过期后需重新走授权流程。 服务器端的授权流程 服务端的授权流程为 OAuth2.0 定义的 Authentication Code Grant 的授权方式,我们推荐朋友圈应用使用服务端的授权流程。在该授权流程中,App 除了可以得到用户的 AccessToken 外还有 RefreshToken, RefreshToken 过期时间为一年。 服务端的授权流程如下: 当用户未登录时,将要求先登录,否则继续下一步;授权页面为一个对话框,显示应用信息以及请求的访问权限,并提示用户选择允许或拒绝;当用户允许后,微信将以重定向的方式回到App,并带上一个授权码,否则将提示失败;第三方应用通过后台访问微信 API,通过授权码换取Access Token和Refresh Token。 通过服务端的授权流程得到的 AccessToken 有效期为 30 天,过期后使用 RefreshToken 即可换取新的 AccessToken。 授权连接 URL: https://open.weixin.qq.com/oauth 参数列表 参数含义 appid 从微信开放平台申请的AppId response_type 返回类型,值为code或token之一 redirect_uri 授权成功后的重定向页面,默认为App预留在微信的uri scope 可选参数,所申请授权的资源域,以空格分开,目前仅支持并默认选择post_timeline state 可选参数,自定义重定向uri的参数 服务端流程请求连接样例: https://open.weixin.qq.com/oauth?appid=hello&response_type=code 用户成功授权后返回样例: HTTP/1.1 302 Found Location: https://client.example.com/cb?code=SplxlOBeZQQYbYS6WxSbIA 用户拒绝授权的返回样例: HTTP/1.1 302 Found Location: https://client.example.com/cb?error=access_denied 客户端流程请求连接样例: https://open.weixin.qq.com/oauth?appid=hello&response_type=token 用户成功授权后返回样例: HTTP/1.1 302 Found Location: https://client.example.com/cb#access_token=ASDFBCDEFGHIJKLMN&expires_in=259200 用户拒绝授权的返回样例: HTTP/1.1 302 Found Location: https://client.example.com/cb#error=access_denied API列表 名称 功能 GET /token 获取Access Token POST /media 上传附件 GET /media/:media_id 下载附件内容 POST /timeline 发表到朋友圈 GET /token URL: https://api.weixin.qq.com/token.format 用于通过授权code换取access token和refresh token,或用于通过refresh token换取新的access token。 参数列表 参数含义 grant_type 获取的token类型,authentication_code 或 refresh_token code 当grant_type为authentication_code时填写,此为用户授权后得到的授权码 refresh_token 当grant_type为refresh_token时填写 redirect_uri 当grant_type为authentication_code时填写,需和oauth步骤所填写的redirect_uri相同 当应用走服务器端的授权流程时,通过该API使用授权码换取access token和refresh token,此时grant_type需设置为authentication_code,请求URL如下: GET "https://api.weixin.qq.com/token?appid=wx1234hello" "&grant_type=authorization_code&code=4433222&redirect_Uri=" "http%3A//www.example.com/weixin_redirect" 返回样例: { "refresh_token" : "93Zkx2gyQVaeIbS1CTDFSZilrVyj1Q1Ts2UeArlEnbrP6bKDyWAz4WlIHu_ wwasdfLNNLfmn023mNA0nX", "access_token" : "3Zkx2gyQVaeIbS1CTDFSZilrVyj1Q1Ts2UeArlEnbrP6bKDyWAz4WlIHu_Lj JqUNdYDYlyxrGOw1ywdb4sAyahgskuUBvSSx6EO2oxowQmcwdC3YTDkSJPTF 6yoKpfZkY2mIGBeaMZKsXcfWoTP94g", "expires_in" : 7200 } 当access token过期时,可通过refresh token获取新的access token,请求样例: GET "https://api.weixin.qq.com/token?appid=wx1234abcd" "&grant_type=refresh_token&secret=egs1mwxkfpt459" "&refresh_token=93Zkx2gyQVaeIbS1CTDFSZilrVyj1Q1Ts2UeArlEnbrP6bKDyWAz4WlIHu_wwasdfLNNLfmn023mNA0nX" 返回样例: { "access_token" : "K3Zkx2gyQVaeIbinDDmZ1CTDFSZilrVyj1Q1Ts2UeArlEnbrP6bKDyWAz4WlIHu_ LjJqUNdYDYlyxrGOw1ywdGGb4sAyahgskuUBvSSx6EO2oxowQmcwdC3YTDkSJPTF 6yoKpfZkY2mIGBeaMZKs", "expires_in" : 7200 } POST /media URL: https://api.weixin.qq.com/media.format 参数列表 参数含义 type 附件类型,目前仅支持image media[] 附件内容 该API用于上传一个附件到微信服务器,成功后将得到一个媒体id(media_id)表示该附件,从而分享至用户朋友圈。 上传的图片大小限制为2M,如果原图宽度超过640px,微信服务器将对图片进行等比例缩放后存储。 请求样例(使用curl工具): curl -F "[email protected]" "https://api.weixin.qq.com/media?type=image&access_token=3Zkx2gyQVaeIbS1CTDFSZilrVyj1Q1Ts2UeArlEnbrP6bKDyWAz4WlIHu_LjJqUNdYDYlyxrGOw1ywdb4sAyahgskuUBvSSx6EO2oxowQmcwdC3YTDkSJPTF6yoKpfZkY2mIGBeaMZKsXcfWoTP94g" 返回样例: { "media_id" : "fPPPmh9EBsgdrqaSJvl6nPvchUfbDxN8lmGTMBN2BWABP_usGso5Qx7raSraaXAT", "type" : "image", "created_at" : 1335415865 } GET /media/:media_id URL: https://api.weixin.qq.com/media/:media_id.format 参数列表 参数含义 media_id 附件id 该API用于下载媒体附件。 请求样例(使用curl工具): curl "https://api.weixin.qq.com/media/fPPPmh9EBsgdrqaSJvl6nPvchUfbDxN8lmGTMBN2BWABP_usGso5Qx7raSraaXAT?access_token=3Zkx2gyQVaeIbS1CTDFSZilrVyj1Q1Ts2UeArlEnbrP6bKDyWAz4WlIHu_LjJqUNdYDYlyxrGOw1ywdb4sAyahgskuUBvSSx6EO2oxowQmcwdC3YTDkSJPTF6yoKpfZkY2mIGBeaMZKsXcfWoTP94g" POST /timeline URL: https://api.weixin.qq.com/timeline.format 参数列表 参数含义 content_type 指定消息的类型,必填,目前支持五类:text、photo、feed、video和music。 title 一句话描述,当content_type是feed时为必填字段。 对于content_type为feed,该字段可以是文章标题; 对于content_type为music,该字段可以是歌曲名和歌手; 对于content_type为video,该字段可以是视频的名称。 media_list media_id列表,content_type为feed、music和video时必填。多个media_id以“,”分隔。 当content_type为photo,最多可以提供9个media_id,多出部分会被抛弃。 当content_type为feed、music和video时,只可提供1个media_id作为消息的缩略图,多出部分会被抛弃。 media_url 音乐文件地址,当content_type为music时必填。协议支持http和https,格式支持mp3和wav。 content_url 内容链接,当content_type为feed、music和video时必填 coordinates 经纬度,用“,”分隔,可选。数据格式为(latitude,longitude) 该API用于分享内容至用户的朋友圈中,title或media_list两个参数至少选择其中之一。 请求示例 1(使用curl工具): curl -d "title=hello&coordinates=10.00,10.00&media_list=fPPPmh9EBsgdrqaSJvl6nPvchUfbDxN8lmGTMBN2BWABP_usGso5Qx7raSraaXAT,fPPPmh9EBsgdrqaSJvl6nPvchUfbDxN8lmGTMBN2BWABP_usGso5Qx7raSraaXAT" "https://api.weixin.qq.com/timeline?access_token=3Zkx2gyQVaeIbS1CTDFSZilrVyj1Q1Ts2UeArlEnbrP6bKDyWAz4WlIHu_LjJqUNdYDYlyxrGOw1ywdb4sAyahgskuUBvSSx6EO2oxowQmcwdC3YTDkSJPTF6yoKpfZkY2mIGBeaMZKsXcfWoTP94g" 成功返回: { "id" : 11232109051049549826, "created_at" : 1333007682 } 失败返回: { "time" : 1338972300, "error" : { "msg": "content_url is missing", "code": 40329 } } 请求示例 2: curl -d "title=Complcated&coordinates=24.00,114.00&media_list=L5JPCzX96wnwcE4Hthh&content_url=http%3A%2F%2Fy.qq.com%2Fi%2Fsong.html%23p%3D7B2273&media_url=http%3A%2F%2Fy.qq.com%2Fi%2Fsong.html%23p%3D7B2273&content_type=music" "https://api.weixin.qq.com/timeline?access_token=3Zkx2gyQVaeIbS1CTDFSZilrVyj1Q1Ts2UeArlEnbrP6bKDyWAz4WlIHu_LjJqUNdYDYlyxrGOw1ywdb4sAyahgskuUBvSSx6EO2oxowQmcwdC3YTDkSJPTF6yoKpfZkY2mIGBeaMZKsXcfWoTP94g" 请求示例2在微信朋友圈展示的效果图如下::

上一篇:1260. Nudnik Photographer dp
下一篇:static,inline,volatile的作用

相关文章

相关评论