文档
测试

1 申请令牌

POST
[域名] /apiv2/oauth/token

接口描述

获取token令牌,生产环境永不过期。

请求头

参数名
类型
描述
必填
Content-Type
string
请求类型: application/x-www-form-urlencoded
必填

请求参数

参数名
类型
描述
必填
client_id
String
传固定值:apiuser
必填
client_secret
String
传固定值:secret
必填
grant_type
String
传固定值:password
必填
username
String
纳税人识别号/手机账号;例如:440300087980444
必填
password
String
登录易票云的密码;例如:123456
必填

返回示例

**正确时返回:** ``` { "access_token": "d021d813-3bc8-4203-aa75-93eec9b85750", "token_type": "bearer", "refresh_token": "93e68c97-ae00-4df4-a4f0-ccf30f692b57", "scope": "api" } ``` **错误时返回[密码错误]:** ``` { "error": "invalid_grant", "error_description": "Bad credentials" } ```

返回参数说明

参数名
类型
描述
必填
access_token
String
永不过期,用户自行控制其作用周期
可选
token_type
String
令牌类型
可选
refresh_token
String
刷新令牌时,需要此令牌作为验证
可选
scope
String
令牌作用域
可选

调用示例

body内容为==client_id=apiuser&client_secret=secret&grant_type=password&username=440300087980444&password=123456== > JAVA ```java String url = "[域名] /apiv2/oauth/token"; HttpClient httpClient = null; HttpPost httpPost = null; String result = null; try{ httpClient = new SSLClient(); httpPost = new HttpPost(url); httpPost.addHeader("Content-Type", "application/x-www-form-urlencoded"); StringEntity se = new StringEntity("client_id=apiuser&client_secret=secret&grant_type=password&username=440300087980444&password=123456"); httpPost.setEntity(se); HttpResponse response = httpClient.execute(httpPost); if(response != null){ HttpEntity resEntity = response.getEntity(); if(resEntity != null){ result = EntityUtils.toString(resEntity, "UTF-8"); } } }catch(Exception ex){ ex.printStackTrace(); }finally { ((SSLClient) httpClient).close(); } System.out.println(result); ``` > C# ``` string url = "[域名]/apiv2/oauth/token"; string result = String.Empty; try { CookieContainer cookie = new CookieContainer(); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = "POST"; request.Headers.Add("Content-Type", "application/x-www-form-urlencoded"); using (StreamWriter writer = new StreamWriter(request.GetRequestStream())) { writer.Write("client_id=apiuser&client_secret=secret&grant_type=password&username=440300087980444&password=123456"); } HttpWebResponse response = (HttpWebResponse)request.GetResponse(); using (Stream responseStream = response.GetResponseStream()) { using (StreamReader reader = new StreamReader(responseStream)) { result = reader.ReadToEnd(); reader.Close(); } responseStream.Close(); } response.Close(); response = null; request = null; } catch (Exception ex) { Console.WriteLine("发送POST请求出现异常:" + ex.Message); } Console.WriteLine(result); ``` > GO ```go url := "[域名]/apiv2/oauth/token" payload := strings.NewReader("client_id=apiuser& client_secret=secret& grant_type=password&username=440300087980444&password=123456") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("Content-Type", "application/x-www-form-urlencoded") response, err := http.DefaultClient.Do(req) if err!=nil{ panic(err) } defer response.Body.Close() body, _ := ioutil.ReadAll(response.Body) fmt.Println(string(body)) ```