我的手机格式化了 小米id忘了怎么办 这么办

请求来源不正确简单游戏 快乐生活
全国门店目录
您当前的位置:
>> >> >>小米手机技巧合集
小米手机技巧合集
作者:wudihan
来源:安卓中文网
发布时间: 19:34:08
  1.通话中轻按电源键结束通话,适用拔错电话及时挂断   按菜单键-全局搜索-(菜单键-搜索设置-将设置那一项打开-返回到搜索界面)搜索“辅助功能”-弹出个框框不管它点取消-这下找到它了吧,打开这项功能就好了。
  2.一句命令检测是夏普屏还是东芝屏,无需连接电脑  A、安装“终端模拟器”。安装方法很简单,在“应用超市”--“装机必备”里就有。  B、运行“终端模拟器”,在命令提示符“$”下输入:& dmesg|grep lcd
  3.需要拨打分机时,先输入主机号码,然后长按“*”(星号键),然后输入分机号码。屏幕上会以逗号分隔两个号码,这样就可以直接打入分机,而不必再次输入了。
  4.如何将误删除的图标恢复  在设置-访问限制-(输入锁屏密码)-看到“启用访问限制”-点击被你删的图标-开启“启用访问限制” -回主页OK。
  5.的访问限制是一个很实用的功能,可以隐藏或加密很多程序和功能,限制后的程序,必须输入图形密码才能进入。但是如果我们一不小心把图形密码给忘记了,而且我还把访问限制自身程序也加密了,怎么办呢?  找到系统更新,进入,点击属性键,选择查看系统信息,向上滑动屏幕,点击恢复出厂设置,再点击清空用户数据(注意,不是清空所有数据,仅仅是用户数据),之后重新启动。再去看看访问限制,是不是可以进去了。哈哈。破解成功。
  6.重力感应不准确跑偏现象的解决方法  首先输入*#*#64663#*#*进入硬件检测模式,然后将手机平躺着放到一个水平的桌面上,选择加速度感应测试,然后点击开始校准,过一会点结束就行了。一般进行这个操作后重力的跑偏问题都能解决。
  7.默认程序的问题  系统设置-程序-全部(找到你设为默认的程序,点一下)-然后在这个页面中向上拉菜单。看到了,默认启动项,点下清除默认设置
  8.解决播放音乐时接听电话,音乐无法静音的问题  设置-程序- 电话-关闭下面的防窃听(最新版本已经修复,老版本可以用此方法)
  9.解决小米通知栏无法清除通知的方法  逐个清理  一、进“设置”---“程序”---“程序管理”---“正在运行”找到“机锋市场”选择 清除数据  二、进“设置”---“程序”---“程序管理”---“全部”---“下载内容存储”选择 清楚数据
  10.小米导入非智能手机通讯录的简单方法  用outlook同步后导出;  用玩转手机导出;  非智能手机与用蓝牙联接后直接导出;  第二步,将后缀是vcf的文件传入,然后点击:联系人→菜单键→设置→导入联系人→从SD卡导入→找到vcf文件→导入。
  11.如果您为了不能在正常的手机情境模式下给别人看到您的照片视频,so,我告诉您,自己新建个文件夹,命名的时候前边加个英文的点,专业点也就是把这个文件夹新建成隐藏文件,这样您尽可以把照片、视频等自己隐私的东西搁进来了,别人在文件管理的图像视频、还有图像里是看不到这些的,除非他知道您这个隐藏文件的名字,全局搜索也搜不出来的。
  12.小米手机上格式化存储卡的具体方法:设置--系统--SD卡,卸载SD卡,格式化。
  13.想快速的进入Recovery?  在系统更新 点击 menu键选择重启到Recovery 就会重启至 Recovery。
  14.害怕遗忘的短信?  可以在单条短信上长按,在弹出菜单中选择"收藏短信";可以在短信主界面切换至"收藏"标签,查看已收藏的短信。
  15.电量设置:更优秀的电源管理  有人喜欢数字化的电量显示,有人又喜欢图形化的电量显示,MIUI提供了三种样式的电量显示方式,其中顶部模式为在通知栏顶部多出一条绿色的电量线,一次表示电量的额多少。
  16.绑定与便携式热点  USB绑定您用过吗?它在设置-系统-共享手机网络里,这个功能是让电脑通过绑定您的手机上网,如果您的手机流量多的话。我做过实验。我来孪伦罟丶那疤幔紫却蚩usb调试,然后去小米官网下载驱动,usb连接电脑打开usb绑定开关,电脑会提示有硬件更新,更新驱动到您下载的小米手机驱动文件夹,安装驱动后您就会在电脑的网上邻居里看到另外一个本地连接,也就是多了一块网卡,最好是用win7系统。
  17.长按返回键停止当前程序,设置长按返回键两秒,你打开的当前程序就关闭了,不是退到后台啊,是真正的退出,当然您按返回键不到两秒还是返回的。
  18.将手机借给孩子、朋友等其他人玩时,可以将“通讯录与拨号”“信息”“手机QQ”等程序隐藏或设置密码保护,同时启用访客模式。这样就不怕隐私泄露,或者被其他人上网耗费流量或搞恶作剧了。
  19.别人打电话进来,不想挂掉,也不想接听,可以按音量减静音。
  20.锁屏界面下,双击时间区域可以调出音乐播放控制界面。
  21.锁屏界面下,按住HOME键可以快速点亮手电。
  22.关闭小米手机按键灯系统设置-显示-高级模式(自动调整亮度打开才能找到)-打开使用自定义设置-编辑其他值-将按钮下面的数值255改成0-再点保存并应用。
  23.小米手机字体修改方法  主题风格-更改局部风格-字体-在线字体(下载)-应用,OK。
  24.小米手机通话录音文件显示电话名字的技巧  设置---程序---电话---自动录音-打开
你有遇到过玩游戏时切换出来查看攻略,不幸导致游戏崩溃的情况吗?下载,边玩游戏边用手机看攻略,轻松愉快,大家都在用。
上一个文章:
下一个文章:
关注安卓中文网官方微信
扫描左侧二维码即可添加安卓中文网官方微信
您也可以在微信上搜索“安卓中文网”或“anzhuozww”,获取更多数码资讯
24小时热点加载中,请稍候...
加载中,请稍候...
商品名称:
京&&东&&价:
商品评分:
评&&价&&数:小米手机常见问题的解决方法_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
小米手机常见问题的解决方法
上传于||暂无简介
阅读已结束,如果下载本文需要使用
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩15页未读,继续阅读
你可能喜欢小米帐号接入方法
1.接入前说明
小米帐号API访问,如获取用户名片、获取米聊好友关系等都需要使用用户身份,目前小米帐号开放平台用户身份鉴权使用OAuth 2.0。
关于OAuth 2.0协议授权流程开发者可以先浏览OAuth 2.0的接口文档,熟悉OAuth 2.0的接口及参数的含义,然后我们根据应用场景各自说明如何使用OAuth 2.0。
图 1-1小米帐号授权流程图
相关名词解释:
服务提供方(resource server): 用户使用服务提供方来存储受保护的资源,这里指的是小米公司。
用户(user):存放在服务提供方的受保护的资源的拥有者。
客户端(client):要访问服务提供方资源的第三方应用,通常是网站在认证过程之前,客户端要向服务提供者申请客户端标识。
令牌(token):分发给客户端的代表访问授权的字符串。通常这个字符串对客户端来说是不透明的。令牌代表资源拥有者许可的访问作用域和持续时间,并由资源服务器和授权服务器强制保证。这个令牌可以代表一个标识符,用于检索授权信息,或以一种可验证的方式自包含授权信息(即一个包含数据和签名的令牌字符串)。令牌可能只代表纯粹的访问能力。
访问令牌(access token):客户端用来代表资源拥有者发送验证请求的令牌。 小米API将支持OAuth 2.0中Bearer Token和MAC Token的两种token形式。
刷新令牌(refresh token):客户端用来获取新的访问令牌的令牌,而不用资源拥有者的参与。
授权码(code):一个短期令牌,代表终端用户的授权。授权码用于获取一个访问令牌和一个刷新令牌。
客户端标识符(client id):分发给客户端的唯一标识,用于客户端向授权服务器标识自己。客户端标识符可以有一个对应的密钥。
2.授权模式说明
强烈推荐使用sdk接入(Android只有sdk才能实现sso)。如果没有对应的sdk请联系工程师,QQ群:。如果使用sdk接入,可以直接跳到第六步,或参考对应平台的使用说明。
Oauth2的授权模式分为code和token两种,如果想要快速开发用户可以这样判断,如果用户拥有https的服务器就使用code,如果用户只有http服务器或者木有服务器就使用token。
授权结束拿到token调用sdk,参照要使用的api,即可完成小米的帐号接入。
sdk中变量解释
申请应用时分配的App Id。
redirect_uri
授权回调地址,必须和申请应用是填写的一致。
申请scope权限所需参数,可一次申请多个scope权限,用空格分隔。
用于保持请求和回调的状态,在回调时,会在Query Parameter中回传该参数。开发者可以用这个参数验证请求有效性,也可以记录用户请求授权页前的位置。
client_secret
申请应用时分配的App Secret
用户授权时client得到的token
注意事项:
再强调强烈推荐使用sdk,如果您非要自己写一个的话请详细看此文档的前面几章,且注意以下几点
1.您可以自己先在浏览器上测试2.2授权接口的使用。
2.授权码code只能使用一次,使用第二次时就是无效。
3.第7章的帐号url不能直接使用,可以用mac加请求header后使用,注意若直接使用若是正确的会返回验证不合法。
4.测试第7章内容时若返回400请检查uri是否正确,是否加入get的请求值,若返回401请测试header是否正确。
5.请十分注意mac的当前分钟数,小米设定分钟误差不超过5分钟,如果错误我们会返回401。
3.授权接口说明
3.1授权流程说明
3.1.1授权码方式授权流程
授权码方式(authorization code)获取访问令牌(access token)的授权验证流程又被称为web server flow,适用于所有有服务端的应用,如Web/Wap站点、有服务端的手机/桌面客户端应用等。
图 3-1授权码方式授权流程
2.1.2 Implicit Grant方式授权流程
Implicit Grant方式获取访问令牌(access token)的授权验证流程又被称为User-Agent Flow,适用于所有无服务端配合的应用(由于应用往往位于一个User Agent里,如浏览器里面,因此这类应用在某些平台下又被称为Client-Side Application),如手机/桌面客户端程序、浏览器插件等,以及基于JavaScript等脚本客户端脚本语言实现的应用,他们的一个共同特点是,应用无法妥善保管其应用密钥(App Secret Key)。
图 3-2 Implicit Grant流程授权流程
3.2授权接口说明
3.2.1请求用户授权接口
URL: /oauth2/authorize
HTTP请求方: GET
表 3-1 请求用户授权参数表
申请应用时分配的App Id。
redirect_uri
授权回调地址,必须和申请应用是填写的一致。
response_type
描述获取授权的方式,目前只支持code 和 token,Code 对应 Authorization Code Flow, token对应Implicit Flow。
申请scope权限所需参数,可一次申请多个scope权限,用空格分隔。
用于保持请求和回调的状态,在回调时,会在Query Parameter中回传该参数。开发者可以用这个参数验证请求有效性,也可以记录用户请求授权页前的位置。
skip_confirm
已登录用户会进入切换帐号页面, 如果应用不需要用户切换帐号, 可以设计skip_confirm=true,黄页接入请设置为true(skip_confirm=true)
接口返回值
请求授权接口会将结果作为redirect_uri的参数返回给第三方调用者,response_type不同返回的参数也不同,区别如下:
response_type为code(Authorization Code Flow)时接口返回值如表2-2所述。
表 3-2 请求用户授权返回值表(response_type为code)
用于调用access_token,接口获取授权后的access token。
如果请求时传递参数,会回传该参数。
response_type为token(Implicit Grant Flow)接口返回值如表2-3所述。
表 3-3请求用户授权返回值表(response_type为token)
access_token
取授权后的access token。
expires_in
Access Token的有效期,以秒为单位
Access Token最终的访问范围
如果请求时传递参数,会回传该参数。
token_type
说明返回的token类型,目前是mac
mac_algorithm
mac计算的算法名称
表 3-4请求用户授权错误类型表
OAuth定义的错误码。
error_description
对error的简单描述。
/oauth2/authorize?client_id=ID&redirect_uri=&response_type=code
/oauth2/authorize?client_id=ID&redirect_uri=&response_type=token
?code=exapmle_code
3.2.2 获取访问令牌接口
URL : /oauth2/token
HTTP请求方式: GET
表 3-5获取访问令牌参数表
申请应用时分配的App Id。
redirect_uri
授权回调地址,必须和申请应用是填写的一致。
client_secret
申请应用时分配的App Secret
grant_type
此值为authorization_code 或者 refresh_token
refresh_token
当grant_type为refresh_token时,必须传该参数,置为上次下发的refresh token值
当grant_type为authorization_code时,必须传该参数,置为上次下发的code值
token_type
说明返回的token类型,目前是mac
接口返回值
接口返回值是一个Json格式字符串,具体说明如下:
第三方获取访问令牌验证通过,该接口返回Access Token相关的信息:
&access_token&: &access token value&,
&expires_in&: 360000,
&refresh_token&: &refresh token value&,
&scope&: &scope value&,
&token_type &: &mac&,
&mac_key &: &mac key value&,
&mac_algorithm&: & HmacSha1&
&openId&=&2.0XXXXXXXXX&
字段说明:
1) access_token:获取的Access Token;
2) expires_in:Access Token的有效期,以秒为单位;
3) refresh_token:用于刷新Access Token ,有效时间为10年;
4) scope:Access Token最终的访问范围,既用户实际授予的权限列表;
5) token_type: access token的类型,type值为mac;
6) mac_key: MAC加密算法对请求进行加密时的密钥;
7) mac_algorithm:MAC加密的算法,目前只支持HmacSha1
8) openId: 是v2版本所提供的一种唯一标识
如果应用验证过程中出错, OAuth 2.0返回错误信息:
&error&: &error_code&,
&error_ description &: &错误描述 &,
1) error:错误码,是一个int类型的数字;
2) error_description:一段人类可读的文字,用来帮助理解和解决发生的错误;
Grant type为authorization_code请求
/oauth2/token?client_id=ID&redirect_uri=&grant_type=authorization_code&client_secret=SECRET&code=CODE
/oauth2/token?client_id=ID&redirect_uri=&grant_type=refresh_token&client_secret=SECRET&refresh_token=REFRESHTOKEN
4. OAuth 2.0 错误码说明
OAuth 2.0实现中,授权服务器在接收到验证授权请求时,会按照OAuth 2.0协议对本请求的请求参数进行检验,若请求不合法或验证未通过,授权服务器会返回相应的错误信息,包含以下几个参数:
error: 错误码
error_description: 错误的描述信息
错误信息的返回方式有两种:
1). 当请求授权/oauth2/authorize 时出现错误,返回方式是:跳转到redirect_uri,并在uri 的query parameter中附带错误的描述信息。
2). 当请求/oauth2/token 时出现错误,返回方式是JSON文本,例如:
&error&:&errorcode&,
&error_description&:&errorCode描述&
OAuth 2.0错误响应中的错误码定义如表3-1所示:
表 4-1 OAuth 2.0 错误码表
OA_CLIENT_NOT_EXISTS(96001)
client不存在
OA_INVALID_REQUEST(96002)
请求缺少某个必需参数,或者格式不正确
OA_INVALID_CLIENT(96003)
client_id 和client_secret不匹配
OA_INVALID_GRANT(96004)
grant可是无效的
OA_UNAUTHORIZED_CLIENT(96005)
客户端没有权限使用该请求
OA_UNSUPPORTED_GRANT_TYPE(96006)
grant不被授权服务器所支持
OA_INVALID_SCOPE(96007)
scope是无效的、未知的,或格式不正确的
OA_INVALID_TOKEN(96008)
token无效或已经过期
OA_INVALID_REFRESHTOKEN(96009)
refresh token无效或已经过期
OA_INVALID_REDIRECT_URI(96010)
重定向URI与预先注册的值不匹配或者不是一个合法的URI
OA_UNSUPPORTED_RESPONSE_TYPE(96011)
响应类型不为授权服务器所支持
OA_ACCESS_DENIED(96012)
用户或授权服务器拒绝了请求
OA_INVALID_CODE(96013)
授权码无效或已经过期
5.Mac Token使用说明
5.1 Mac Token说明
MacToken是授权小米下发的一种访问令牌类型,使用MacToken调用API时,用MAC加密算法对请求进行加密,并将结果放到http请求的header中。MAC算法有HmacSha1和HmacSha256两种,小米API默认使用HmacSha1。下面给出Java和PHP算法示例:
Java算法示例:
public static byte[] encryptHMACSha1(byte[] data, byte[] key) {
SecretKeySpec signingKey = new SecretKeySpec(key, HMAC_SHA1);
Mac mac = Mac.getInstance(HMAC_SHA1);
mac.init(signingKey);
mac.update(data);
return mac.doFinal();
PHP算法示例:
static public function buildSignature($signString, $secret) {
$sign = base64_encode(hash_hmac('sha1', $signString, $secret, True));
return urlencode($sign);
5.2 使用方法
5.2.1 请求内容标准化
使用Mac Token需要将请求内容按照一定的规则拼接形成符合要求的标准的格式字符串,标准化字符串用于计算请求API的签名值,小米规定的格式请求字符串格式如下(\n代表换行):格式化字符串 = Nonce + \n + HTTP方法 + \n + HOST + \n + URI+ \n + QUERY+\n
由随机数和时间戳组成,格式:随机数:当前分钟数(1970 年 1 月 1 日午夜0点之间的时间差)
78(注意冒号分割)
调用API时请求方式
调用API时的域名
open.(没有http或https)
调用API时的path(必须以/开头)
/user/profile
Key按照字典序排列的query串, 内容为空的去query字段不参与签名
clientId=xxx&token=xxx
具体示例:
请求字符串= 78\nGET\n open.\n/user/profile\n clientId=xxx&token=xxx\n
5.2.2 Mac Token请求格式
采用Mac Token调用API,需要将相关签名信息放入请求的http请求的Header中。第三方在发送API请求时,要对请求进行MAC加密计算,并将结果放到请求Header中的"Authorization"字段中。Authorization字段内容如下:Authorization: MAC access_token="token value",nonce="随机码" ,mac="签名值"
字段含义说明:
access_token : 授权时下发的access_token。
nonce:随机串,由客户端按照2中规则产生的随机字符串包括当前分钟数值。
mac:签名值,根据mac算法计算生成的。Mac = HmacSha1(格式化字符串, mac_key)。
6.scope设置说明
scops反映了各个授权使用的权限(部分权限需要申请才能使用)
获取您的个人资料
获取您米聊中的好友信息
获取小米帐号OpenId
获取您绑定的安全手机号
修改您的名片信息
获取您绑定的安全邮箱
访问您的小米路由器
获取您云服务中的联系人信息
获取您的云相册数据
保存此应用的数据到小米云中
7.小米帐号的开放API
7.1获取用户名片
URL: https://open./user/profile
HTTP请求方式:GET
请求参数:
表 7-1 获取用户名片参数表
申请应用时分配的App Id。
用户授权时client得到的token
Header数据:参考第4节中方式生成Header授权信息。
返回数据:
如果访问令牌验证通过,会返回用户相关的信息, 返回格式为Json文本, 格式如下:
&result&: &ok&,
&description&: &成功&,
&miliaoNick&: &米聊昵称&,
&userId&: 米聊号,
&miliaoIcon&: 头像URL
如果访问令牌验证错误,会返回错误信息, 返回格式为Json文本, 格式如下:
&result&: &error&,
&description&: &错误描述&,
&code&: 错误码
7.2获取用户的关系列表
URL:https://open./user/relation
HTTP请求方式:GET
请求参数:
表 7-2 获取用户关系列表参数表
申请应用时分配的App Id。
用户授权时client得到的token
Heaer数据:参考第4节中方式生成Header授权信息。
返回数据:
如果访问令牌验证通过,会返回用户好友列表的信息, 返回格式为Json文本, 格式如下:
&result&: &ok&,
&description&: &成功&,
&friends&: &好友列表&
如果访问令牌验证错误,会返回错误信息, 返回格式为Json文本, 格式如下:
&result&: &error&,
&description&: &错误描述&,
&code&: 错误码
7.3获取用户OpenId
URL:https://open./user/openidV2
HTTP请求方式:GET
请求参数:
表 7-3 获取用户OpenId参数表
申请应用时分配的App Id。
用户授权时client得到的token
Heaer数据:无需签名信息。
返回数据:
如果访问令牌验证通过,会返回用户OpenID相关的信息, 返回格式为Json文本, 格式如下:
&result&: &ok&,
&description&: &成功&,
&openid&: &openid&
如果访问令牌验证错误,会返回错误信息, 返回格式为Json文本, 格式如下:
&result&: &error&,
&description&: &错误描述&,
&code&: 错误码
7.4验证用户密码接口
URL:https://open./checkPassword
HTTP请求方式:GET
请求参数:
表 7.4 验证用户密码接口参数表
申请应用时分配的App Id。
通过5.1接口获取到的userId
完整的url,以http或https开头(和redirect url在同一域名下面),用于通知密码检测结果, 必须以GET方式访问
返回数据:
返回数据是通过callback返回, callback url中返回参数如下:
xmResult:true 验证成功, false或者没有改参数表示验证错误
由随机数和时间戳组成,格式:随机数:当前分钟数(1970 年 1 月 1 日午夜0点之间的时间差)
对返回结果的签名,为了验证返回结果没有被窜改
一个新的授权码,第三方可以使用code换取新的access token(在安全性要求较高的地方可以再次用access token换取userId,以验证用户身份的合法性)
小米验证的实际帐号(不一定是第三方传上来的帐号),可能会被人恶意窜改
第三方必须在callback中验证_ xmSign, 否则造成的损失由第三方负责。
如何验证签名:
Callback格式参见4.2.1请求内容标准化,签名参数不包括_xmNonce和_xmSign签名。
签名算法使用HmacSha1, AppSecret是申请app的时候系统分配的可以,可以登录获取,每个用户不同,_xmSign = HmacSha1(Callback字符串, AppSecret)。
签名验证示例:
第三方提供Callback:
小米验证成功之后调用callback:
其中_xmNonce=21337,_xmSign= O044CQ9pBNgV3qgcVw760h3naNI=,下面是部分代码示例:
String url = &&;
URIBuilder followupBuilder = new URIBuilder(url);
List&NameValuePair& resultParaList = new ArrayList&NameValuePair&();
Map&String, String& parameterThird = new HashMap&String, String&();
for (NameValuePair pair : followupBuilder.getQueryParams()) {
if(!pair.getName().startsWith(&_&)) {
resultParaList.add(new BasicNameValuePair(pair.getName(), pair.getValue()));
parameterThird.put(pair.getName(), pair.getValue());
Assert.assertEquals(&true&, parameterThird.get(&xmResult&));
Assert.assertNotNull(parameterThird.get(&code&));
String qs = URLEncodedUtils.format(resultParaList, Constants.UTF_8_CHARSET);
String nonce = parameterThird.get(&_xmNonce&);
第三方需要check一下nonce 防止重放
String sign =getMacAccessTokenSignatureString(nonce, &GET&, followupBuilder.getHost(),followupBuilder.getPath(),qs,clientKey, &HmacSHA1&);
Assert.assertEquals(sign, parameterThird.get(&_xmSign&));
7.5 获取用户绑定的手机号码
URL: https://open./user/phoneAndEmail
HTTP请求方式:GET
请求参数:
表 7-5获取用户绑定手机号参数表
申请应用时分配的App Id。
用户授权时client得到的token
Header数据:参考第4节中方式生成Header授权信息。
返回数据:
如果访问令牌验证通过,会返回用户手机号相关的信息, 返回格式为Json文本, 格式如下:
&result&: &ok&,
&description&: &成功&,
phone:&用户手机号,没有phone返回空&
email:&用户email, 没有email返回空&
如果访问令牌验证错误,会返回错误信息, 返回格式为Json文本, 格式如下:
&result&: &error&,
&description&: &错误描述&,
&code&: 错误码
7.6上传图片
URL: https://open./user/photo/upload
HTTP请求方式:GET
请求参数:
表 7-6获取用户绑定手机号参数表
申请应用时分配的App Id。
用户授权时client得到的token
上传的图片
Header数据:参考第4节中方式生成Header授权信息。
返回数据:
如果访问令牌验证通过,会返回用户手机号相关的信息, 返回格式为Json文本, 格式如下:
“result”: “ok”,
“description”: “成功”,
“mfsFileId”: “”
“code”: 0
如果访问令牌验证错误,会返回错误信息, 返回格式为Json文本, 格式如下:
“result”: “error”,
“description”: “错误描述”,
“code”: 错误码
String url = &/user/photo/upload&;
JSONObject json = this.getMacTypeToken();
String accessToken = json.getString(&access_token&);
url = url + &?& + &clientId=& + clientId + &&token=& + URLEncoder.encode(accessToken, &UTF-8&);
System.out.println(&~~~~~~~~~~~~&);
InputStream stream = OAuthTest.class.getResourceAsStream(&/yingu.jpg&);
System.out.println(&~~~~~~~~~~~~&);
Assert.assertEquals(stream==null, false);
byte[] date =input2byte(stream);
System.out.println(date.length);
HttpClient httpClient = new HttpClient();
httpClient.getParams().setParameter(&http.connection.timeout&, new Integer(10000)); // 等等设置各种基本属性....
PostMethod post = new PostMethod(TestConstants.OPENAPIHOST + url);
post.setRequestHeader(&Referer&, TestConstants.OPENAPIHOST + url);
ByteArrayPartSource bp = new ByteArrayPartSource(&yingu.jpg&, date);
FilePart bfp = new FilePart(&yingu.jpg&, bp);
bfp.setContentType(&mutipart/form-data&);
bfp.setName(&photo&);
bfp.setTransferEncoding(null);
Part[] parts = {bfp};
post.setRequestEntity(new MultipartRequestEntity(parts, post.getParams()));
long length =
post.getRequestEntity().getContentLength();
post.setRequestHeader(&Content-Length&, length + &&);
httpClient.executeMethod(post);
String reponse=post.getResponseBodyAsString();
System.out.println(reponse);
JsonObject jsonObject=new JsonObject(reponse);
jsonObject=jsonObject.getJsonObject(&data&);
Assert.assertEquals(jsonObject.getString(&errorMessage&), &成功&);
String downloadString=jsonObject.getString(&mfsFileId&);
URL downloadUrl = new URL(downloadString);
InputStream downloadStream = downloadUrl.openStream();
System.out.println(&~~~~~~~~~~~~&);
Assert.assertEquals(downloadStream==null, false);
byte[] date2 =input2byte(downloadStream);
System.out.println(date2.length);
Assert.assertEquals(true, date2.length!=0);
7.7修改第三方名片
URL: https://open./user/changeProfileJson
HTTP请求方式:POST
请求参数:
表 7-7获取用户绑定手机号参数表
申请应用时分配的App Id。
用户授权时client得到的token
Header数据:参考第4节中方式生成Header授权信息。
返回数据:
如果访问令牌验证通过,会返回用户手机号相关的信息, 返回格式为Json文本, 格式如下:
“result”: “ok”,
“description”: “成功”,
“data”: {
Birthday:””
sex:”1”
miliaonick:”hello”
miliaoicon:” ”
“code”: 0
如果访问令牌验证错误,会返回错误信息, 返回格式为Json文本, 格式如下:
“result”: “error”,
“description”: “错误描述”,
“code”: 错误码
String url = &/user/changeProfileJson&;
List&NameValuePair& params = new ArrayList&NameValuePair&();
params.add(new BasicNameValuePair(&birthday&, &&));
params.add(new BasicNameValuePair(&sex&,
params.add(new BasicNameValuePair(&nickname&, &TestOpen&));
params.add(new BasicNameValuePair(&icon&, &&));
Response response = sendOpenApiRequest(url, &POST&, params, true);
System.out.println(response.toString());
String postString=response.body().asString();
JsonObject json=new JsonObject(postString);
Assert.assertEquals(json.getString(&result&),&ok&);
json=json.getJsonObject(&data&);
Assert.assertEquals(json.getString(&nickname&), &TestOpen&);
Assert.assertEquals(json.getString(&birthday&), &&);
Assert.assertEquals(json.getString(&sex&),
Assert.assertEquals(json.getString(&icon&), &&);
System.out.println(&~~~~~~~~~~~~~~~~~~~~~~~~~&);
//Thread.sleep(1000);
String urlGet= &/user/profile&;
response = sendOpenApiRequest(urlGet, &GET&, null, true);
System.out.println(response.toString());
String getString=response.body().asString();
json=new JsonObject(getString);
Assert.assertEquals(json.getString(&result&),&ok&);
json=json.getJsonObject(&data&);
Assert.assertEquals(json.getString(&miliaoNick&), &TestOpen&);
Assert.assertEquals(json.getString(&birthday&), &&);
Assert.assertEquals(json.getString(&sex&),
Assert.assertEquals(json.getString(&miliaoIcon&), &&);
Documentation built with .

我要回帖

更多关于 小米id密码忘了怎么办 的文章

 

随机推荐