欧洲免费av_国产69精品久久久久777_久久精品一区二区三区不卡免费视频 _三级视频在线播放_人猿泰山h版在线观看_7777狠狠狠琪琪电影_三级毛片网站

表單基礎 API

API 是表單大師對外提供的編程接口,允許其他應用開發者調用指定帳號內的表單相關資源。例如,在表單新提交的數據時推送到自己的平臺,或在自己的平臺查詢表單提交的數據和評論等。

API 訪問約定

獲取HTTP Basic驗證參數 (API Key/Secret)

在開始使用之前,您需要在表單大師賬戶內獲取API Key 和 Secret,只有通過這兩個參數才能獲取API的訪問權限。


獲取API Key/Secret

您每次進行API調用時,都需要構造HTTP Basic驗證的請求頭。API Key 對應于 Basic驗證的用戶名, API Secret 對應于 Basic 驗證的密碼。例如,使用curl來獲得某個表單的數據:


curl -u 51470abd078d49c496fda859:vWXVAWXeEQKfLlerFDMD3rsekBQzU5tz \
     --header "Content-Type:application/json" \
     -d "{\"form_id\":\"552b4ffe0cf2ba60b5b6825b\",\"fields\":[\"field1\",\"field5\",\"field6\",\"id\"],\"order_by\":{\"field1\":1}}" \
     --url http://api.jsform.com/api/v1/entry/query 

查詢類 API

所有查詢類 API 均有請求頻率限制,短時間內大量請求會返回頻率過高錯誤。

表單 API

1.獲取表單信息

描述
根據表單id獲取表單信息(表單名稱、表單描述等)

訪問地址
http://api.jsform.com/api/v1/form/{formId}

訪問方式
GET

參數

參數名 數據類型 是否必須 示例值 默認值 描述
formId String 55b639212e8f3685227bf154   表單ID

返回值

參數名 描述
status 執行狀態。”success”表示成功,”error”表示失敗
message 如果失敗,用此字段描述失敗原因。如果成功,此字段為空。
form 表單的詳細信息

返回示例


{
    "status":"success",
    "form":{
        "id":"55b639212e8f3685227bf154",
        "form_desc":"表單描述", 
        "update_time":1438453044305, 
        "form_name":"表單名稱", 
        "create_by":"apidemo@jsform.com", 
        "group_id":"55bc8d0c2e8f4d363ba991c9",
        "group_name":"分組名稱",
        "create_time":1438005537663,
        "update_by":"apidemo@jsform.com"
    }
}

表單列表字段說明

字段名 描述
id 表單ID
form_name 表單名稱
form_desc 表單描述
group_id 表單分組ID
group_name 表單分組名稱
create_by 創建人
create_time 創建時間
update_by 最后修改人
update_time 最后修改時間

curl示例


curl -u 51470abd078d49c496fda859:vWXVAWXeEQKfLlerFDMD3rsekBQzU5tz \
     --header "Content-Type:application/json" \
     --url http://api.jsform.com/api/v1/form/55b639212e8f3685227bf154

2.獲取表單列表

描述
獲取某分組下的所有表單。

訪問地址
http://api.jsform.com/api/v1/formlist/{groupId}

訪問方式
GET

參數

參數名 數據
類型
是否必須 示例值 默認值 描述
groupId String 55b639212e8f3685227bf154   分組Id。可選擇值為”all”:獲取所有表單列表;指定的groupId:獲取指定分組的表單列表;”nogroup”:獲取未分組的表單列表

返回值

參數名 描述
status 執行狀態。”success”表示成功,”error”表示失敗
message 如果失敗,用此字段描述失敗原因。如果成功,此字段為空
rows 所有表單列表

返回示例


{
    "status":"success",
    "rows":[
        {
            "id":"55b639212e8f3685227bf154",
            "form_desc":"表單描述", 
            "update_time":1438453044305, 
            "form_name":"表單名稱", 
            "create_by":"apidemo@jsform.com", 
            "group_id":"55bc8d0c2e8f4d363ba991c9",
            "group_name":"分組1", 
            "create_time":1438005537663,
            "update_by":"apidemo@jsform.com"
        }
    ]
}

表單列表字段說明

字段名 描述
ID 表單ID
form_name 表單名稱
form_desc 表單描述
group_id 表單分組ID
group_name 表單分組名稱
create_by 創建人
create_time 創建時間
update_by 最后修改時間

curl示例


curl -u 51470abd078d49c496fda859:vWXVAWXeEQKfLlerFDMD3rsekBQzU5tz \
     --header "Content-Type:application/json" \
     --url http://api.jsform.com/api/v1/formlist/55b639212e8f3685227bf154

3.獲取表單字段對照表

描述
獲取某個表單的字段名稱與數據表中的字段對應關系。

訪問地址
http://api.jsform.com/api/v1/fields/{formId}

訪問方式
GET

參數 無

返回值

參數名 描述
status 執行狀態。”success”表示成功,”error”表示失敗
message 如果失敗,用此字段描述失敗原因。如果成功,此字段為空
fields 所有字段的名稱與字段名的對應關系

返回示例


{
    "status":"success",
    "fields":{
        "field1":{
            "data_type":"String",
            "label":"單行文本"
        },
        "field2":{
            "data_type":"Number",
            "label":"數字"
        }
    }
}

表單列表字段說明
見每個表單的API字段說明

curl示例


curl -u 51470abd078d49c496fda859:eWfALrToAuQvo47zDYFfaRxTVaeNsEIL \
     --header "Content-Type:application/json" \
     --url http://api.jsform.com/api/v1/fields/558e7b63926e2436667227fb

4.獲取表單分組

描述
獲取表單分組信息。

訪問地址
http://api.jsform.com/api/v1/form/grouplist

訪問方式
GET

參數 無

返回值

參數名 描述
status 執行狀態。”success”表示成功,”error”表示失敗
message 如果失敗,用此字段描述失敗原因。如果成功,此字段為空
groups 所有表單的分組

返回示例


{
    "status":"success",
    "groups":[
        {
            "id":"55ae4e9d2e8f1176ff21453f",
            "name":"分組1"
        },
        {
            "id":"55ae4ea62e8f1176ff214540",
            "name":"分組2"
        }
    ]
}

curl示例


curl -u 51470abd078d49c496fda859:eWfALrToAuQvo47zDYFfaRxTVaeNsEIL \
     --header "Content-Type:application/json" \
     --url http://api.jsform.com/api/v1/form/grouplist

報表API

1.根據報表分組獲取報表列表

描述
獲取某賬戶下的所有報表。

訪問地址
http://api.jsform.com/api/v1/reportlist/{groupId}

訪問方式
GET

參數

參數名 數據類型 是否必須 示例值 默認值 描述
groupId String 55b639212e8f3685227bf154   分組Id。可選擇值為”all”:獲取所有報表列表;[groupId]:獲取指定分組的報表列表;”nogroup”:獲取未分組的報表列表。

返回值

參數名 描述
status 執行狀態。”success”表示成功,”error”表示失敗
message 如果失敗,用此字段描述失敗原因。如果成功,此字段為空
groups 所有報表列表

返回示例


{
    "status":"success",
    "rows":[
        {
            "id":"54af9a2e0cf2e0a29dcd82d7",
            "update_time":1436102269097, 
            "create_by":"apidemo@jsform.com", 
            "group_name":"分組1", 
            "report_name":"1",
            "group_id":"55ae4ea62e8f1176ff214540",
            "create_time":1420794414952, 
            "form_id":"545b974a0cf2ba5432bebe75", 
            "report_desc":"報表描述1",
            "update_by":"apidemo@jsform.com"
        },
        {
            "id":"54af9a2e0cf2e0a29dcd82d7",
            "update_time":1436102269097, 
            "create_by":"apidemo@jsform.com",             
            "group_name":"分組1", 
            "report_name":"報表名稱2",
            "group_id":"55ae4ea62e8f1176ff214540",
            "create_time":1420794414952, 
            "form_id":"545b974a0cf2ba5432bebe75", 
            "report_desc":"報表描述2",
            "update_by":"apidemo@jsform.com"
        }
    ]
}

報表列表字段說明

字段名 描述
ID 報表ID
report_name 報表名稱
report_desc 報表描述
form_id 數據源對應的表單ID
create_by 創建人
create_time 創建時間
update_by 最后修改人
update_time 最后修改時間
group_id 分組ID
group_name 分組名稱

curl示例


curl -u 51470abd078d49c496fda859:vWXVAWXeEQKfLlerFDMD3rsekBQzU5tz \
     --header "Content-Type:application/json" \
     --url http://api.jsform.com/api/v1/reportlist/55b639212e8f3685227bf154

2.獲取報表分組

描述
獲取報表分組信息。

訪問地址
http://api.jsform.com/api/v1/report/grouplist

訪問方式
GET

參數 無

返回值

參數名 描述
status 執行狀態。”success”表示成功,”error”表示失敗
message 如果失敗,用此字段描述失敗原因。如果成功,此字段為空
groups 所有報表的分組

返回示例


{
    "status":"success",
    "groups":[
        {
            "id":"55ae4e9d2e8f1176ff21453f",
            "name":"分組1"
        },
        {
            "id":"55ae4ea62e8f1176ff214540",
            "name":"分組2"
        }
    ]
}

curl示例


curl -u 51470abd078d49c496fda859:eWfALrToAuQvo47zDYFfaRxTVaeNsEIL \
     --header "Content-Type:application/json" \
     --url http://api.jsform.com/api/v1/report/grouplist

3.根據表單ID獲取對應的報表列表

描述
獲取報表分組信息。

訪問地址
http://api.jsform.com/api/v1/report/grouplist

訪問方式
GET

參數

參數名 數據類型 是否必須 示例值 默認值 描述
formId String 55b639212e8f3685227bf154   表單ID

返回值

參數名 描述
status 執行狀態。”success”表示成功,”error”表示失敗
message 如果失敗,用此字段描述失敗原因。如果成功,此字段為空
groups 匹配到的報表列表

返回示例


{
    "status": "success",
    "rows": [
    {
        "id": "54af9a2e0cf2e0a29dcd82d7",
        "update_time": 1436102269097,
        "create_by": "apidemo@jsform.com",
        "report_name": "報表名稱1",
        "group_id": "55ae4ea62e8f1176ff214540",
        "create_time": 1420794414952,
        "form_id": "545b974a0cf2ba5432bebe75",
        "report_desc": "報表描述1",
        "update_by": "apidemo@jsform.com"
    },
    {
        "id": "54af9a2e0cf2e0a29dcd82d7",
        "update_time": 1436102269097,
        "create_by": "apidemo@jsform.com",
        "report_name": "報表名稱2",
        "group_id": "55ae4ea62e8f1176ff214540",
        "create_time": 1420794414952,
        "form_id": "545b974a0cf2ba5432bebe75",
        "report_desc": "報表描述2",
        "update_by": "apidemo@jsform.com"
    }]
}

報表列表字段說明

字段名 描述
ID 報表ID
report_name 報表名稱
report_desc 報表描述
form_id 數據源對應的表單ID
create_by 創建人
create_time 創建時間
update_by 最后修改人
update_time 最后修改時間

curl示例


curl -u 51470abd078d49c496fda859:vWXVAWXeEQKfLlerFDMD3rsekBQzU5tz \
     --header "Content-Type:application/json" \
     --url http://api.jsform.com/api/v1/reportlistbyfomid/55b639212e8f3685227bf154

表單數據API

1.查詢單條數據

描述
根據數據記錄id查詢一條數據。

訪問地址
http://api.jsform.com/api/v1/entry/query/{entryId}

訪問方式
GET

參數

參數名 數據類型 是否必須 示例值 默認值 描述
entryId String 558226580cf22a4f82d7b49a   數據記錄id

返回值

參數名 描述
status 執行狀態。”success”表示成功,”error”表示失敗
message 如果失敗,用此字段描述失敗原因。如果成功,此字段為空
entry 數據結構參考API中的描述,其中評論(comments)的結構如下

comments數據結構

參數名 描述
form_id 表單ID
entry_id 數據ID
comment 評論內容
create_name 創建人姓名
create_time 創建時間

返回示例


{
    "status": "success",
    "entry":
    {
        "id": "55afebb42e8f8f0998d4c463",
        "field3": "item2",
        "update_time": 1437592500470,
        "create_by": "apidemo@jsform.com",
        "create_time": 1437592500470,
        "form_id": "55afcbc9ba875d5d6e445988",
        "comments": [
        {
            "id": "55afed2c2e8f8f0998d4c465",
            "create_by": "apidemo@jsform.com",
            "create_time": 1437592876585,
            "form_id": "55afcbc9ba875d5d6e445988",
            "comment": "評論內容1"
        },
        {
            "id": "55aff4bb2e8fe09ae58e3d95",
            "create_by": "apidemo@jsform.com",
            "create_time": 1437594811672,
            "form_id": "55afcbc9ba875d5d6e445988",
            "comment": "評論內容2"
        }],
        "timeout": 1.0,
        "update_by": "apidemo@jsform.com",
        "ip": "192.168.0.110"
    }
}


curl示例

``` java

curl -u 51470abd078d49c496fda859:eWfALrToAuQvo47zDYFfaRxTVaeNsEIL  \
     --header "Content-Type:application/json"  \
     --url http://api.jsform.com/api/v1/entry/query/55afebb42e8f8f0998d4c463

2.查詢表單數據

描述
根據指定的條件查詢表單提交的數據。

訪問地址
http://api.jsform.com/api/v1/entry/query

訪問方式
POST

參數

參數名 數據類型 是否必須 示例值 默認值 描述
form_id String 558226580cf22a4f82d7b49a   表單ID
page_number Number 1 0 查詢頁碼,整數,從0開始計數
page_size Number 21 15 頁碼大小,整數,最大值為100
fields Array [“field1”,”field2”]   需要查詢的字段,可以在表單的API頁面查詢到字段名稱
order_by Object {“field1”:1}   排序依據。1為正序,-1為倒序。比如示例表示的含義為“按field1正序排列”
filters Array [{“field”:”field1” ,”compare_type”:”eq” ,”data_type”:”string” ,”value”:”123”}]   過濾條件,每個條件是一個Object對象,各個條件將以and連接。示例中的條件用SQL表示,其含意為“field1=’123’”。對象描述如下表格中所示。

過濾條件數據結構

參數名 描述
field 條件字段名
compare_type 比較類型,值可以為”eq”(等于),”gt”(大于),”lt”(小于)
data_type 字段數據類型,值可以為”string”(文本),”number”(數字),“date”(日期)
value 條件值

返回值

參數名 描述
status 執行狀態。”success”表示成功,”error”表示失敗
message 如果失敗,用此字段描述失敗原因。如果成功,此字段為空
total 滿足查詢條件的總記錄數
rows 滿足查詢條件的當前頁記錄明細

返回示例


{
    "status": "success",
    "total": 2,
    "rows": [
    {
        "field5": 1434297600000,
        "id": "552b51160cf2ba60b5b68289",
        "field6": 123.0,
        "field1": "文本1"
    },
    {
        "field5": 1434297600000,
        "id": "552b51160cf2ba60b5b68290",
        "field6": 124.0,
        "field1": "文本2"
    }]
}

curl示例


curl -u 51470abd078d49c496fda859:vWXVAWXeEQKfLlerFDMD3rsekBQzU5tz \
     --header "Content-Type:application/json" \
     -d "{\"form_id\":\"552b4ffe0cf2ba60b5b6825b\",\"fields\":[\"field1\",\"field5\",\"field6\",\"id\"], \"filters\":[{\"field\":\"field1\" ,\"compare_type\":\"eq\" ,\"data_type\":\"string\" ,\"value\":\"123\"}],\"order_by\":{\"field1\":1}}" \
     --url http://api.jsform.com/api/v1/entry/query

3.查詢評論

描述
查詢某條數據的所有評論。

訪問地址
http://api.jsform.com/api/v1/comment/query/{entryId}

訪問方式
GET

參數

參數名 數據類型 是否必須 示例值 默認值 描述
entryId String 552b4ffe0cf2ba60b5b6825b   數據ID

返回值

參數名 描述
status 執行狀態。”success”表示成功,”error”表示失敗
message 如果失敗,用此字段描述失敗原因。如果成功,此字段為空
rows 所有評論內容

返回示例


{
    "status": "success",
    "rows": [
    {
        "create_by": "test@jsform.com",
        "create_time": 1434424845679,
        "comment": "評論內容"
    }]
}

評論列表字段說明

字段名 描述
create_by 創建人
create_time 創建時間
comment 評論內容

curl示例


curl -u 51470abd078d49c496fda859:vWXVAWXeEQKfLlerFDMD3rsekBQzU5tz \
     --header "Content-Type:application/json" \
     --url http://api.jsform.com/api/v1/comment/query/552b51160cf2ba60b5b68289

4.添加評論

描述
對某條數據添加評論。

訪問地址
http://api.jsform.com/api/v1/comment/add

訪問方式
POST

參數

參數名 數據類型 是否必須 示例值 默認值 描述
form_id String 55afcbc9ba875d5d6e445988   表單ID
entry_id String 558226580cf22a4f82d7b49a   數據ID
comment String 這里是評論內容   評論內容
comment_name String 張三   發表評論人的姓名

返回值

參數名 描述
status 執行狀態。”success”表示成功,”error”表示失敗
message 如果失敗,用此字段描述失敗原因。如果成功,此字段為空
comment_id 評論ID

返回示例


{
    "comment_id":"55affa6a2e8fe3f27e969429",
    "status":"success"
}

curl示例


curl -u 51470abd078d49c496fda859:eWfALrToAuQvo47zDYFfaRxTVaeNsEIL \
     --header "Content-Type:application/json" \
     -d "{\"form_id\":\"55afcbc9ba875d5d6e445988\", \"entry_id\":\"55afebb42e8f8f0998d4c463\",\"comment\":\"評論內容\",\"comment_name\":\"張三\"}" \
     --url http://api.jsform.com/api/v1/comment/add

5.電子合同

描述
獲取已簽署完成的電子合同。

訪問地址
http://api.jsform.com/api/v1/contract/query/{entryId}

訪問方式
GET

返回值

參數名 描述
status 執行狀態。”success”表示成功,”error”表示失敗
url 如果失敗,用此字段描述失敗原因。如果成功,此字段為電子合同的下載地址

返回示例


{
    "url":"https://oss.esign.cn/1111563786/1838f7e0-41e3-4caa-b08c-17b8a61b232e/6065293a703c3283fcfeb1.pdf?Expires=1617248373&OSSAccessKeyId=LTAI4G5MrqtY4Moi&Signature=mQZAmkfF%2BbDLHnIAjrtmTtmPEt8%3D",
    "status":"success"
}

curl示例


curl -u 51470abd078d49c496fda859:vWXVAWXeEQKfLlerFDMD3rsekBQzU5tz \
     --header "Content-Type:application/json" \
     --url http://api.jsform.com/api/v1/contract/query/552b51160cf2ba60b5b68289

PowerBI接入

準備條件

  • Power BI桌面版
  • 含有數據的表單

1.通過API獲取

1.查看表單,獲取表單id/appkey和appsecret


表單id獲取方式


appkey和appsecret獲取方式

2.打開提供的powerbi模板文件(聯系客服獲取)


點擊編輯查詢,進入power query


點擊高級編輯器,進入代碼編輯頁面

3.修改表單id/appkey/appsecret


修改表單id/appkey/appsecret

4.點擊保存,則數據全部調用過來


修改查詢名稱,比如按表單名稱命名

5.關閉powerbi query(彈框內容需點擊是)


然后進入powerbi則可在powerbi中對數據進行報表分析


2.通過Web獲取

1.開啟Power BI后,點擊從web獲取數據源


從web獲取數據源

2.切換到高級,按如下填寫


URL格式: https://www.jsform.com/web/entries/griddata/ 后面加上表單ID+?p=x&q=xxx


表單ID


APPKey和APP Secret

訪問地址
https://www.jsform.com/web/entries/griddata/{formid}?p=x&q=xxx

參數

參數名 數據類型 是否必須 示例值 默認值 描述
{formid} String 55b639212e8f3685227bf154   所需數據的表單ID
p int 1 1 第1頁數據,一頁有500條數據
q String 方案1   查詢方案名
username String 13111111111   登陸名
appKey String 5dfb389c7c5f38666cb72be0   開發者ID中API Key
appSecret String LPoKvOaY5GpTLiD78bLVVfc9NBpAVmek   開發者ID中API Secret

3.點擊確認后,則會看到數據都進入powerbi表格中,這樣就可以在powerbi中對表單收集的數據進行分析了


表單數據同步

API 查詢數據示例代碼

java

public class ApiTest {
    public static void main(String[] args) throws Exception {
        String apiKey = ""; //替換為自己的apiKey
        String apiSecret = ""; //替換為自己的apiSecret
        String apiAuth = apiKey + ":" + apiSecret;
        //api請求發送的json數據,根據實際情況替換form_id等
        String postJsonData = "{\"form_id\":\"58fffa51bb7c7c0723f5ed3a\",\"fields\":[\"field1\",\"field5\",\"field6\",\"id\"],\"order_by\":{\"field1\":1}}";

        OutputStreamWriter writer = null;
        InputStream is = null;
        try {
            URL apiUrl = new URL("http://api.jsform.com/api/v1/entry/query");
            HttpURLConnection conn = (HttpURLConnection)apiUrl.openConnection();
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Content-Type", "application/json");
            conn.setRequestProperty("Authorization", "Basic " + Base64.getEncoder().encodeToString(apiAuth.getBytes()));
            conn.setDoInput(true);
            conn.setDoOutput(true);
            writer = new OutputStreamWriter(conn.getOutputStream(), "UTF-8");
            writer.write(postJsonData);
            writer.close();

            is = conn.getInputStream();
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            byte[] buffer = new byte[512];
            int readLen = 0;
            while ((readLen = is.read(buffer)) > 0) {
                baos.write(buffer, 0, readLen);
            }

            String json = new String(baos.toByteArray(), "UTF-8");
            //返回的json字符串
            System.out.println(json);
        } finally {
            if (writer != null) {
                writer.close();
            }
            if (is != null) {
                is.close();
            }
        }
    }
}
Python3
# -*- coding: utf-8 -*-
# python3,需要requests庫
import requests

if __name__ == '__main__':
    postJson = {
        'form_id': '58fffa51bb7c7c0723f5ed3a',
        'fields': ['field1', 'field5', 'field6', 'id'],
        'order_by': {'field1': 1}
    }
    # 下面xxx,yyy需要對應替換為apiKey,apiSecret
    auth = ('xxx', 'yyy')
    r = requests.post('http://api.jsform.com/api/v1/entry/query', json=postJson, auth=auth)
    print(r.json())

推送類 API

查詢類 API 具有頻率限制,若需要實時獲取最新數據,不宜反復查詢,而應該用數據推送類 API 。

配置開啟推送

需進入表單的規則設置界面,在 API - POST 參數頁面,勾選 ”將數據Post到第三方服務器“,并選擇需要的推送時機(增、改、刪)和數據格式。

推送數據格式和示例
  • 推送請求數據格是JSON,請求方法是HTTP POST
  • 在數據提交頻繁的情況下, 建議接收數據和處理數據分開異步處理以加快接收
  • 增、改、刪都會推送整條數據,在刪除數據的情況下,HTTP head中有特殊頭部action=DELETE
  • 目前推送數據始終是以單條數據為單位的。若選擇數據格式為對象,則推送數據是下面的格式。若選擇數據格式為數組,則推送數據是JSON數組,數組里面的元素是下面的示例格式。
    {
        "ID" : 99 ,    
        "field1" :"aBcd" ,    
        "field2" :"張三" ,    
        "field3" :"13800138000" ,    
        "field4" :123.45 ,    
        "amount" :123.45 ,    
        "create_by" :"test@yourcompany.com" ,    
        "create_time" : 1000800800, //距離1970 年 1 月 1 日的毫秒數 ,    
        "update_by" :"test@yourcompany.com" ,    
        "update_time" : 1000800800, //距離1970 年 1 月 1 日的毫秒數 ,
        "form_id" :"5f0d4d1790245636a812a803",    
        "id" :"543c06f2926ea4ee544766b5",
        //...其他字段
    }
欧洲免费av_国产69精品久久久久777_久久精品一区二区三区不卡免费视频 _三级视频在线播放_人猿泰山h版在线观看_7777狠狠狠琪琪电影_三级毛片网站
亚洲成av人片一区二区三区| 一区二区在线观看av| 欧美三级电影网站| 国产精品人妖ts系列视频 | 欧美白人最猛性xxxxx69交| 久久尤物电影视频在线观看| 天天色综合成人网| 在线中文字幕一区二区| 91精品国产综合久久精品| 亚洲午夜在线电影| 日韩精品一区二区在线观看| 亚瑟在线精品视频| 欧美放荡的少妇| 久久国产福利国产秒拍| 日韩亚洲欧美成人一区| 精品一区二区三区在线观看国产| 精品88久久久久88久久久| 激情五月播播久久久精品| 亚洲日本护士毛茸茸| 69堂成人精品免费视频| 风间由美一区二区av101 | 欧美视频自拍偷拍| 免费人成在线不卡| 日韩理论在线观看| 日韩欧美一二三| 97久久精品人人澡人人爽| 精品一区二区在线播放| 午夜视频在线观看一区二区| 亚洲国产成人在线| 精品福利在线导航| 欧美在线视频日韩| 成人动漫视频在线| 日本欧美一区二区在线观看| 自拍偷拍亚洲欧美日韩| 久久久蜜臀国产一区二区| 欧美男生操女生| 欧美日韩精品是欧美日韩精品| 国产成人在线观看| 国产精品夜夜嗨| 国产精品一区一区| 国产精品家庭影院| 久久综合色天天久久综合图片| 欧美丰满嫩嫩电影| 经典三级视频一区| 国产成a人亚洲| 成人免费观看av| 91国偷自产一区二区三区成为亚洲经典 | 国产最新精品精品你懂的| 久久国产精品色| 久久99九九99精品| 成人一区在线观看| 91国内精品野花午夜精品| 欧美日免费三级在线| 色视频成人在线观看免| 欧美日韩黄色一区二区| 欧美日韩精品三区| 久久精品一级爱片| 中文字幕五月欧美| 日本不卡的三区四区五区| 国产美女在线精品| 色美美综合视频| 2019国产精品| 午夜在线电影亚洲一区| 日本va欧美va瓶| 成人av电影免费在线播放| 777久久久精品| 精品国产乱码久久久久久牛牛| 国产精品久久久久国产精品日日| 中文字幕中文字幕在线一区 | 亚洲欧美另类图片小说| 日本伊人精品一区二区三区观看方式 | 樱桃视频在线观看一区| 粉嫩av一区二区三区粉嫩| 日韩国产在线观看一区| 国产婷婷一区二区| 一级做a爱片久久| 国产精选一区二区三区| wwww国产精品欧美| 极品美女销魂一区二区三区| 91在线视频免费观看| ...中文天堂在线一区| 色综合视频在线观看| 亚洲欧美激情一区二区| 欧美在线观看一区| 亚洲在线视频网站| 欧美日韩精品是欧美日韩精品| 亚洲成av人片一区二区| 日韩欧美一级二级三级久久久| 免费不卡在线视频| 欧美国产在线观看| 欧美怡红院视频| 精品一区二区在线免费观看| 国产精品国产三级国产普通话99| 欧美日韩日日摸| 国产成人免费高清| 日韩中文字幕一区二区三区| 欧美国产成人精品| 欧美在线你懂得| 99国产精品一区| 美女尤物国产一区| 综合激情成人伊人| 精品美女一区二区三区| 色视频成人在线观看免| 成人avav影音| 国产精品中文字幕一区二区三区| 伊人一区二区三区| 日韩理论片网站| 久久久99精品免费观看不卡| 欧美日韩一区二区不卡| 色婷婷综合久色| 波多野结衣中文字幕一区| 麻豆精品在线观看| 麻豆免费精品视频| 美国三级日本三级久久99| 亚洲精品欧美二区三区中文字幕| 国产欧美日韩三级| 国产精品日韩精品欧美在线| 国产午夜精品福利| 国产精品乱人伦一区二区| 日本一区二区免费在线观看视频| 精品欧美久久久| 国产免费观看久久| 亚洲情趣在线观看| 亚洲成人免费在线观看| 日韩黄色免费网站| 国产精品18久久久久久vr | 性做久久久久久久久| 日韩成人一级片| 日韩av中文在线观看| 亚洲国产一区二区视频| 中文字幕中文在线不卡住| 中文字幕的久久| 一区二区三区不卡视频在线观看| 亚洲丝袜精品丝袜在线| 亚洲va国产天堂va久久en| 男男gaygay亚洲| 国产麻豆成人精品| 91年精品国产| 精品视频999| 欧美日韩高清一区| 中文字幕 久热精品 视频在线| 91久久精品网| 精品成人一区二区| 亚洲同性gay激情无套| 亚洲成人精品一区| 成人福利视频网站| 日韩欧美激情四射| 欧美高清一级片在线观看| 欧美三级电影网站| 91论坛在线播放| 日韩欧美一二三| www.亚洲色图| 亚洲综合免费观看高清在线观看| 日本久久电影网| 乱一区二区av| 在线亚洲一区观看| 亚洲欧洲制服丝袜| 成人性生交大片免费看视频在线| 精品粉嫩超白一线天av| 日韩精品久久久久久| 欧美二区在线观看| 免费国产亚洲视频| 精品久久久久av影院| 青青草视频一区| 欧美精品一区二区三区视频| 韩国在线一区二区| 久久九九国产精品| 高清国产一区二区| 亚洲精选在线视频| 欧美专区在线观看一区| 蜜臀av性久久久久av蜜臀妖精| 91精品免费在线| av中文字幕不卡| 国产精品女主播在线观看| 久久99国产精品麻豆| 中文字幕一区二区三区不卡| 一区二区三区欧美日| 精品成人一区二区三区四区| 欧美日韩五月天| 欧美日韩精品专区| 色爱区综合激月婷婷| 色婷婷av一区二区三区软件 | 欧美色手机在线观看| 秋霞电影一区二区| 亚洲精品久久嫩草网站秘色| 日韩精品专区在线影院重磅| 色婷婷激情一区二区三区| 国产剧情一区在线| 日韩激情一二三区| 国产精品美女久久久久久2018| 91精品国产色综合久久ai换脸 | 国产亚洲欧洲一区高清在线观看| 欧美亚洲日本国产| www.亚洲色图| 欧美在线999| 欧美肥妇bbw| 在线免费观看日本欧美| 国产亚洲精品7777| 欧美在线观看视频一区二区三区| 91视频国产观看|