抖音授权,门店回调日志打印,定时九点半日志打印,小程序门店切换时不成功

This commit is contained in:
邹宗楠
2022-04-15 18:08:43 +08:00
parent ca3d08ba77
commit 81cf7752fd
5 changed files with 182 additions and 182 deletions

View File

@@ -16,8 +16,11 @@ func init() {
baseapi.Init(sugarLogger) baseapi.Init(sugarLogger)
//api = New("de8157b447584885910f429011e49cb93yjq", "E1D746D42474D5F1F1A10CECE75D99F6", "efa7e1d1a22640fa990e6cf164b28608") //api = New("de8157b447584885910f429011e49cb93yjq", "E1D746D42474D5F1F1A10CECE75D99F6", "efa7e1d1a22640fa990e6cf164b28608")
api = New("9ad9cf5fc8b140b19a1dbbb700b47676kown", "D5E8352BE0786ED16F77B4548F62F09A", "71e1061ac2f246f6ac27efb900edba12") api = New("9ad9cf5fc8b140b19a1dbbb700b47676kown", "D5E8352BE0786ED16F77B4548F62F09A", "71e1061ac2f246f6ac27efb900edba12")
api.SetCookieWithStr(` api.SetCookieWithStr(`__jdu=16496474755891719920568; unpl=JF8EALNnNSttDU0HBElWE0BAQ1oHWw4KGEcLOmRRUVhQHlUBHlIeEBF7XlVdXhRKEh9vZxRUWFNIVQ4YBysSEXteU11bD00VB2xXVgQFDQ8WUUtBSUt-SF1UXVsJSxMHbG4GZG1bS2QFGjIbFRVDWlFYWA5PEwpnZwNUVVBIVQEcCysiF3ttZFpaCUMTC19mNVVtGh8IDRwGGhMQBl1TW1UPThEGaWMBXVVYTVQNEwEaFhdCbVVuXg; areaId=22; ipLoc-djd=22-1930-0-0; PCSYCityID=CN_510000_510100_0; __jdv=122270672|baidu|-|organic|notset|1649658041982; pinId=0P4L2K_8z11ZUOOc8Pyh4w; pin=jxc4liulei; unick=jxc4liulei; _tp=SNh2AuY0LCWg91owlmuS1Q%3D%3D; _pst=jxc4liulei; ceshi3.com=000; _vender_=TNK3O6PALVQGG3P24NJQFXSBHYQNFQDBDAAAFNJIJAECQG2WSQGU5RJ6KSCMVVQQRHQZD6AECSQT3YKKYMRQJDFZHEEPXXHCR3STQEL55G2S4OB7Q6QUPCVBRUAZKDRVRF2MP5BK57JOU57NKALCQQWNR5XRJWJ4AGVNOAVSZUQ4QLRQZLY62QPOMBQHAQAGNLFRNQDWAO2N2HSD33FC2BJBV3S3QAJEAEJCDK4QQCZD6R72KBKNNWCITHQ32SVZKLN526Z2KM5T3DCVCND4YAK4AZMYIVI7ULYSDQD34K63YVC2TN5AJHZFWVYZEQGPZ65I6MTWTEDVOTLQ5D2AY2PBT4JHYXKEV6DFST3FWH5NOTDOJY3IASEKA7SG6LJSRN63HAW554GZVREIKMQHQAC5IVI445ONJ6GMFECU4SNRFRAYRKKYNISVYBKRTNHJCGFX2442SELHC4MUUVLVNBKEDYTDRCC4ZMMDMWSG75UUSWWXISJA; wlfstk_smdl=91h55jyt5sfm1901tdbgehyi67o5iaor; language=zh_CN; TrackID=1oqBrsNfaNsPFZVtK-124Hk1wwpg113ZwmS2Cajw8VwRsb0RCE3ph1kEhr7BLLOhyaQ196cgJsdscvrvGuBRoZm_dfJ1RuXfLocegNnMjRM8; thor=01BA10CC3862D8315A8F658F7DD2838C910211F45B05336172446EFDFC25E684EB4B9A81E2F1012525DBB65E171F7F5049FBFB076DA4FAC0AE7898C136389DC95DE18C259981364B775EAB7385F4CFFB2BEA505D94D2C1B8D5899C421825A32F0E60967FBF20170B0F1F31A27F795E2C40F4F9A141DD7260894C5EA879FE0810E99DDEFFC34ED45459429571A06DB76E; b-sec=3XU3DWGGC3WZSRRUDORQHBODFJXKGJRSNQI4WVMLXDV5NBOUPIJGYAR6Q5ZBP3KGR7GY3A37P62ZS; __jda=191429163.16496474755891719920568.1649647476.1649658035.1649658042.4; __jdc=191429163; 3AB9D23F7A4B3C9B=CKENC5MAUU744ZQDKVRY2L7UIJ23PJRDYJ6HF3ZMQHC5FFD46FMUQXRINFCOC4SKHL5MU3PPNPP4C4AX5ZYBXJ7LZ4; _base_=YKH2KDFHMOZBLCUV7NSRBWQUJPBI7JIMU5R3EFJ5UDHJ5LCU7R2NILKK5UJ6GLA2RGYT464UKXAI5KK7PNC5B5UHJ2HVQ4ENFP57OC2XJVD24IJG4VRA63GZVNQY5IXRTCNE6YVKRXISVJLYYILNIP6OVKS3GKYL2ZCNGXSSG4SOQWCP5WPWO6EFS7HEHMRWVKBRVHB33TFD4SMNBHRJCTDFHU6SZXCZD6RFXX2OORYGL5H2GYF2IIH2KKD4T72IR4F577G2E5II2OMMXYF2GDYNTS7WGAUXFEWRJ3CTKDBDWMHUKJQF4ZFOTNBBYBIZRXZYERXXIG6ASWNF62HTTIQSOQAEZEGZNSDAGQWOFW3BKDHOZ5FDR4MS74LDWUDI4FNIT374F4VDI; _BELONG_CLIENT_=WPSC4XJXWK5USS4JNZY2X7VRLR5MCBKRSVHEXABGTHDGISIQK5YOLZUXYE7IOIM7MOKO74H6CRN6WHAAR4TMDV3XZWMXZRCRT5XRNE3V356BTOB2Y7LPK66VWQK6HPTGWVXIDXDCPVE3W5WMHAIO6AT2LX2XXVNUCXR34ZWFK6HY45CORGIKOSYDYZBF27WOKTUX6BS4FZMIJWNUX6CB4JAA25ZLF7ZEKYOO4QV5HTSBXGNRM3E242MBI6V5D4C5VJDQ3EOYCOW5BMTUJZACIBHXQFAVLRF76VQY5PNJGGJNBEZHSFYYJA3YORRT7FB5AHCOIFQKF3W5RWNUX6CB4JAA26JNMO7AYWNUPZF5HTSBXGNRM3E242MBI6V5D4C5VJDQ3EOYCOW5BWZDKMOJ5BS6II53ERY6ALV3ZWPF42L4CPUHEGPYIII35KDC4FCNVCORCXFD6IVNLBEDPB2GGP4UHWNRUDOQBDIW7RZJXBA2WV5ANZOTEGUCDWYRVQS2YUTIZNZ276PRYG4N56V6YTII7MBKBC7LYHO7C555HTSBXGNRM3E466AYN67DHWVM5HQFJ4NFDO5BSREF6DFQ4KIBNVW4OYQNH5G7P3A; _vender_new_=GI63BGTJFDBQ5WAGCFF7AT6OUYWYFPVBHAMTKOO3UVWYDSOEMFHDXQYGEAIFTLTM6ICNHRYEWG53Y3EUFLXVKLH6RMKWRM7G5WA6AFWSDWJGOQXV26K6RBZHAU5DFEA4TBIYSVY45F3GK7X3Q5FHPNMZOCRLURVOQKFM7B2D4BBXHS2QRSAAEO6RPWOL62CWNGPOHMGMAGVAJ77C4IC2ET3NVN6PBVCLI56OPZPR7RNFOAEYFZTP2BSCS5ZMNTWN4HIOX5NUKDT5EUE5QQ722X2U2H7DKPHIF7OHQ6IR4HMB5NA7ACWBHEXOENOEOZZIHVQJO7KJEXLBYIYCIDSN4MFK5XWTHEBPJHFWGJBRDK2VBA6IMVCSGASA4TPDBKXN5UZZAL2JZNRSJTR363NRPUBYOPSTMWNXIMF4UYZPUUZPLTJX56EXDHFSRQF3F4FZXK47M3A33GZHU6UCVEAOAOFE3CAHDO4DMIK7334CESHKG3LT2KSPPDT3GXU5UUQOJGGQTYURJRST3PF7U6LS5URX2WPD7XV3OBKJQ2C3NFHU35TKJPWKEJUIFFUHXPJBS6AEJ7JV4RL5QDPT7ZGGIHSED3ZCDW563MYWFUFFCNMWQEZXMPDHUOHRDBNSOWPCAI4ZR4B4NENJLWZUO3XKK4L3AUAJKICWYY6MNDA`)
shshshfpa=b02d5da7-4399-dacb-d2af-dc8d6c460307-1606980337; shshshfpb=xasBIJG4GQtMArMLGnT8nqQ%3D%3D; UM_distinctid=17e421e35135b9-0570446b8f842a-3354487a-1fa400-17e421e3514257; user-key=fe50847a-cc2e-4494-bd7a-4e1cd1ec0324; areaId=22; pinId=WMIzMhF5BfKZPDIlG3adMQ; pin=shop_jxcs2021; unick=shop_jxcs2021; _tp=326SVoMf64R2LVMVFCEfiQ%3D%3D; _pst=shop_jxcs2021; PCSYCityID=CN_510000_510100_0; ipLoc-djd=22-1930-50948-57092; ceshi3.com=000; __jdu=1606964403676243720102; csrf_token=959385ad-4016-4b27-8fc2-64464f09c944; unpl=JF8EAKBnNSttCEkBVxhQTxVFS1RUWwkKGR9XPGIGUwgLSwdSHgYaFxl7XlVdXhRKEh9vZxRUXVNIVA4bBisSEXteXFZZDkoWAGZXNWReWHtVNRsFGhUYTFhRX18PTRAAamUDV1xYSlc1KwUbGyB7bVdWVQxMEABqZjVVbVpKVQYdCxMSEEJtHzBcRUsQAmhvAlFYWUlTAxwBHhAWSFxUX144SicA; __jdv=76161171|kong|t_299570028_|tuiguang|a3dc2ce6d1814e3c9eb426db1bf45048|1649647276250; bjd.advert.popup=5afaf4c2300fcde28c9d5a7582fdd73e; cn=1; shshshfp=50f73bc4e775836e11d201adab7ff646; language=zh_CN; ip_cityCode=1930; TrackID=1Q5P3-ullX0lQhmJdAIXwEIpUA3TIyGcmFdghZqHIYksZoVyEPpMxYDgIh0d8dfackJbRBfCxeMp-iuv3PHDKgMCbuVMeQZCK3ubapO6Fv6riDlcNfehEK-H8_i5QuF5v; __jda=191429163.1606964403676243720102.1606964404.1647847906.1648015537.156; __jdc=191429163; 3AB9D23F7A4B3C9B=3LXEVQM6COV5NINMQN77BN64JE2WJ76EIPRTIYTDM7GIU7BHDAMFOVQT7WP33PVNBO2DUGASISKUTTJX65DM4ZME3Y; _base_=YKH2KDFHMOZBLCUV7NSRBWQUJPBI7JIMU5R3EFJ5UDHJ5LCU7R2NILKK5UJ6GLA2RGYT464UKXAI4Z6HPCTN4UQM3WHVQ4ENFP57OC2XJVD24IJG4VRA63GZVNQY5IXRTCNE6YVKRXISVJLYYILNIP6OVKS3GKYL2ZCNGXSSG4SOQWCP5WPWO6EFS7HEHMRWVKBRVHB33TFD4SMNBHRJCTDFHU6SZXCZD6RFXX2OORYGL5H2GYF2IIH2KKD4T72IR4F577G2E5II2OMMXYF2GDYNTS7WGAUXFEWRJ3CTKDBDWMHUKJQF4ZFOTNBBYBIZRXZYERXXIG6ASC3D6DGS4WD4QQ5TAYF53SJ3SX7CBNYDPXFCM2ZEIMWTNGLNZHVJ3U6RK5ZBCQLZE; _vender_new_=GI63BGTJFDBQ5WAGCFF7AT6OU2UF5TDBCVVAW3W4ZGGIVOLTPK57TQKS6B2UAQGJ2CD7LXKS4Q7CWM2X5H63ED5FP7T7K3ABVJHQHYWNX4PRCUPH6XGAGN2CFHSWF22HF5JQJ4GWGC3NJSCESVRBTZGVLMVYTOT3TDDIV5MLM3NIPN5O5CIXUF5LOA44565AQ2JVMNVNKT7WMY6RWBASMJYKDSTITLP6WXMXJDJYMXAWOY2XWQCXI6RB3XVDWHR6HDOD2SNRC5NX4DRRYOYE7UGG7DZYIVI7Y64CIIPMRFBNWLLP3MQXERMDYTSLRPIZTIMGFR4OHOZ7HBC2QYY46IA63RLQ6O3BSIVFISTGB5TRZBQHZENZ3YT5J2L3PXJ3K4HTWYMSFJKEUZQPM4OIMB6JDMF6LW5NZEFZK5NO627VUSSP5BZYXV5DEZZGSFF6OIQDZKME7A4WZC3ZCVCJNC6FXJWD6YYUE3LXEPQ346CACIL4NDRACRE3LJQSJGPV573IWHJ6ILG44KW6UU4LPJ24MRVU4AJTEC7ZKG5EED5FFB6J75EI6C677TNCOUENHGGL4C5DB4GZZP3DAKLSSLIU5RJVBQR3GD2FEYBEME5BJ6CWEDNRA5DT4JO4DYMDBKDHJRLMZ34RB72SYFOC5RUCVACP2MTWIF57ZELWHUH4RK4HYT3A; _BELONG_CLIENT_=WPSC4XJXWK5USS4JNZY2X7VRLR5MCBKRSVHEXABGTHDGISIQK5YOLZUXYE7IOIM7MOKO74H6CRN6WHAAR4TMDV3XZWMXZRCRT5XRNE3V356BTOB2Y7LPK66VWQK6HPTGWVXIDXDCPVE3W5WMHAIO6AT2LX2XXVNUCXR34ZWFK6HY45CORGIKOSYDYZBF27WOKTUX6BS4FZMIJWNUX6CB4JAA25ZLF7ZEKYOO4QV5HTSBXGNRM3E242MBI6V5D4C5VJDQ3EOYCOW5BMTUJZACIBHXQFAVLRF76VQY5PNJGGJNBEZHSFYYJA3YORRT7FB5AHCOIFQKF3W5RWNUX6CB4JAA26JNMO7AYWNUPZF5HTSBXGNRM3E242MBI6V5D4C5VJDQ3EOYCOW5BWZDKMOJ5BS6II53ERY6ALV3ZWPF42L4CPUHEGPYIII35KDC4FCNVCORCXFD6IVNLBEDPB2GGP4UHWNRUDOQBDIW7RZJXBA2WV5ANZOTEGUCDWYRVQS2YUTIZNZ276PRYG4N56V6YTII7MBKBC7LYHO7C555HTSBXGNRM3E466AYN67DHWVM5HQFJ4NFDO5BSM2ARZ2CP7BZNHYHJTN2W4KTYUA; b-sec=S2JWP6CAFP7K4DTHFD36EP2AMQLBY2BVKWF7A3DQ7NFGDIC7II3OKWREQFGL3DVOBV5BJNHAM5IJI; thor=0067E0DF0B31013CB97AE7793EC6C972FD1F47E82C81CA371FEA19140EB6B5886558DE30A9B13F001E0F3CF06F304350C65490CB1F719FCF73ED070D6C2718A2983484F5E5C77F6D72A3D9F6A503B94FECE1369726094F7686F2A8860F6474BCEAEA97621D2692F509758D4680A01C0C422486594F7AE97BA78B325DEC2B59E944AFB5CFF692BFAB726197681AB9DA69`) //api.SetCookieWithStr(`language=zh_CN; Domain=.jd.com; Expires=Sat, 16-Apr-2022 09:49:40 GMT; Path=/`)
// api.SetCookie("thor", "5E1D1AE7BBC42FACA3496D9C54AF9F879CF4836860E75FF70BFCDEAC5A75C1C5E43030CF54E4A3A8F5E760492948E69B763D115FE234A59948BA538A4F7E18F38B80F818E28EAE71F1CF5BFE2D0DC456D56E8BEAEF10D398C709D9A4EB46923C7E63867435BD42996F1570A816FD1B0B247CD9756A1184DD61317D28BBF77F828691684AD6E60801B2BB38F9DE086D73") //api.SetCookieWithStr(`_base_=YKH2KDFHMOZBLCUV7NSRBWQUJPBI7JIMU5R3EFJ5UDHJ5LCU7R2NILKK5UJ6GLA2RGYT464UKXAI5KK7PNC5B5UHJ2HVQ4ENFP57OC2XJVD24IJG4VRA63GZVNQY5IXRTCNE6YVKRXISVJLYYILNIP6OVKS3GKYL2ZCNGXSSG4SOQWCP5WPWO6EFS7HEHMRWVKBRVHB33TFD4SMNBHRJCTDFHU6SZXCZD6RFXX2OORYGL5H2GYF2IIH2KKD4T72IR4F577G2E5II2OMMXYF2GDYNTS7WGAUXFEWRJ3CTKDBDWMHUKJQF4ZFOTNBBYBIZRXZYERXXIG6ASWNF62HTTIQSOQAEZEGZNSDAGQWOFW3BKDHOZ5FDR4MS74LDWUDI4FNIT374F4VDI; Domain=.jd.com; Expires=Sat, 15-Apr-2023 09:49:40 GMT; Path=/`)
//api.SetCookieWithStr(`_vender_new_=GI63BGTJFDBQ5WAGCFF7AT6OUYWYFPVBHAMTKOO3UVWYDSOEMFHDXQYGEAIFTLTM6ICNHRYEWG53Y3EUFLXVKLH6RMKWRM7G5WA6AFWSDWJGOQXV26K6RBZHAU5DFEA4TBIYSVY45F3GK7X3Q5FHPNMZOCRLURVOQKFM7B2D4BBXHS2QRSAAEO6RPWOL62CWNGPOHMGMAGVAJ77C4IC2ET3NVN6PBVCLI56OPZPR7RNFOAEYFZTP2BSCS5ZMNTWN4HIOX5NUKDT5EUE5QQ722X2U2H7DKPHIF7OHQ6IR4HMB5NA7ACWBHEXOENOEOZZIHVQJO7KJEXLBYIYCIDSN4MFK5XWTHEBPJHFWGJBRDK2VBA6IMVCSGASA4TPDBKXN5UZZAL2JZNRSJTR363NRPUBYOPSTMWNXIMF4UYZPUUZPLTJX56EXDHFSRQF3F4FZXK47M3A33GZHU6UCVEAOAOFE3CAHDO4DMIK7334CESHKG3LT2KSPPDT3GXU5UUQOJGGQTYURJRST3PF7U6LS5URX2WPD7XV3OBKJQ2C3NFHU35TKJPWKEJUIFFUHXPJBS6AEJ7JV4RL5QDPT7ZGGIHSED3ZCDW563MYWFUFFCNMWQEZXMPDHUOHRDBNSOWPCAI4ZR4B4NENJLWZUO3XKK4L3AUAJKICWYY6MNDA; Domain=.shop.jd.com; Expires=Sat, 15-Apr-2023 09:49:40 GMT; Path=/
//Set-Cookie: b-sec=3XU3DWGGC3WZSRRUDORQHBODFJXKGJRSNQI4WVMLXDV5NBOUPIJOQVBHAPZIOY3FR7GY3A37P62ZS; Domain=.jd.com; Expires=Fri, 15-Apr-2022 21:49:40 GMT; Path=/`)
//api.SetCookie("thor", "5E1D1AE7BBC42FACA3496D9C54AF9F879CF4836860E75FF70BFCDEAC5A75C1C5E43030CF54E4A3A8F5E760492948E69B763D115FE234A59948BA538A4F7E18F38B80F818E28EAE71F1CF5BFE2D0DC456D56E8BEAEF10D398C709D9A4EB46923C7E63867435BD42996F1570A816FD1B0B247CD9756A1184DD61317D28BBF77F828691684AD6E60801B2BB38F9DE086D73")
} }

View File

@@ -71,12 +71,12 @@ func TestAllOrders(t *testing.T) {
//StoreID: "", //StoreID: "",
//OrderStatusArray: nil, //OrderStatusArray: nil,
//OrderID: "", //OrderID: "",
OrderCreateDateRange: []string{"2022-01-26 00:00:46", "2022-01-26 17:19:46"}, //OrderCreateDateRange: []string{"2022-01-26 00:00:46", "2022-01-26 17:19:46"},
//SelectedTabName: "allOrders", SelectedTabName: "allOrders",
//SortName: "desc", SortName: "desc",
}) })
if err != nil { if err != nil {
t.Fatal(err) fmt.Println("err========", err)
} }
t.Log(utils.Format4Output(result, false)) t.Log(utils.Format4Output(result, false))
} }

View File

@@ -1,74 +1,73 @@
package tiktok package tiktok
// import (
//import ( "encoding/json"
// "encoding/json" "fmt"
// "fmt" "git.rosy.net.cn/baseapi/platformapi"
// "git.rosy.net.cn/baseapi/platformapi" "git.rosy.net.cn/baseapi/utils"
// "git.rosy.net.cn/baseapi/utils" "net/http"
// "net/http" "strings"
// "strings" )
//)
// func (a *API) GetAppID() string {
//func (a *API) GetAppID() string { return a.clientKey
// return a.clientKey }
//}
// func (a *API) GetSecret() string {
//func (a *API) GetSecret() string { return a.clientSecret
// return a.clientSecret }
//}
// func New(clientSecret, clientKey string, config ...*platformapi.APIConfig) *API {
//func New(clientSecret, clientKey string, config ...*platformapi.APIConfig) *API { curConfig := platformapi.DefAPIConfig
// curConfig := platformapi.DefAPIConfig if len(config) > 0 {
// if len(config) > 0 { curConfig = *config[0]
// curConfig = *config[0] }
// } return &API{
// return &API{ clientSecret: clientSecret,
// clientSecret: clientSecret, clientKey: clientKey,
// clientKey: clientKey, client: &http.Client{Timeout: curConfig.ClientTimeout},
// client: &http.Client{Timeout: curConfig.ClientTimeout}, config: &curConfig,
// config: &curConfig, }
// } }
//}
// func (a *API) AccessAPI(baseUrl, actionApi, method string, bizParams map[string]interface{}) (retVal map[string]interface{}, err error) {
//func (a *API) AccessAPI(baseUrl, actionApi, method string, bizParams map[string]interface{}) (retVal map[string]interface{}, err error) { // 序列化
// // 序列化 data, err := json.Marshal(bizParams)
// data, err := json.Marshal(bizParams) if err != nil {
// if err != nil { return nil, err
// return nil, err }
// }
// // 全路径请求参数
// // 全路径请求参数 fullURL := utils.GenerateGetURL(baseUrl, actionApi, nil)
// fullURL := utils.GenerateGetURL(baseUrl, actionApi, nil)
// // 发送请求
// // 发送请求 sendUrl := func() *http.Request {
// sendUrl := func() *http.Request { var request *http.Request
// var request *http.Request if http.MethodPost == method {
// if http.MethodPost == method { request, _ = http.NewRequest(http.MethodPost, fullURL, strings.NewReader(string(data)))
// request, _ = http.NewRequest(http.MethodPost, fullURL, strings.NewReader(string(data))) } else {
// } else { request, _ = http.NewRequest(http.MethodGet, utils.GenerateGetURL(baseUrl, actionApi, bizParams), nil)
// request, _ = http.NewRequest(http.MethodGet, utils.GenerateGetURL(baseUrl, actionApi, bizParams), nil) }
// } switch actionApi {
// switch actionApi { case TiktokTokenUrl:
// case TiktokTokenUrl: request.Header.Set("Content-Type", "application/x-www-form-urlencoded")
// request.Header.Set("Content-Type", "application/x-www-form-urlencoded") case TiktokRefreshTokenUrl:
// case TiktokRefreshTokenUrl: request.Header.Set("Content-Type", "multipart/form-data")
// request.Header.Set("Content-Type", "multipart/form-data") }
// }
// return request
// return request }
// }
// // 数据解析
// // 数据解析 dataMarshal := func(response *http.Response, bodyStr string, jsonResult1 map[string]interface{}) (errLevel string, err error) {
// dataMarshal := func(response *http.Response, bodyStr string, jsonResult1 map[string]interface{}) (errLevel string, err error) { if jsonResult1 == nil {
// if jsonResult1 == nil { return platformapi.ErrLevelRecoverableErr, fmt.Errorf("mapData is nil")
// return platformapi.ErrLevelRecoverableErr, fmt.Errorf("mapData is nil") }
// }
// retVal = jsonResult1
// retVal = jsonResult1 return errLevel, err
// return errLevel, err }
// }
// err = platformapi.AccessPlatformAPIWithRetry(a.client, sendUrl, a.config, dataMarshal)
// err = platformapi.AccessPlatformAPIWithRetry(a.client, sendUrl, a.config, dataMarshal) return retVal, err
// return retVal, err }
//}

View File

@@ -1,25 +1,24 @@
package tiktok package tiktok
// import (
//import ( "git.rosy.net.cn/baseapi/platformapi"
// "git.rosy.net.cn/baseapi/platformapi" "net/http"
// "net/http" "sync"
// "sync" )
//)
// const (
//const ( BaseURL = "https://open.douyin.com"
// BaseURL = "https://open.douyin.com" TiktokTokenUrl = "/oauth/access_token/"
// TiktokTokenUrl = "/oauth/access_token/" TiktokRefreshTokenUrl = "/oauth/renew_refresh_token/"
// TiktokRefreshTokenUrl = "/oauth/renew_refresh_token/" )
//)
// type API struct {
//type API struct { clientSecret string // 应用唯一标识对应的密钥
// clientSecret string // 应用唯一标识对应的密钥 clientKey string // 应用唯一标识
// clientKey string // 应用唯一标识 client *http.Client
// client *http.Client config *platformapi.APIConfig
// config *platformapi.APIConfig locker sync.RWMutex
// locker sync.RWMutex
// msgToken string
// msgToken string msgKey string
// msgKey string }
//}

View File

@@ -1,82 +1,81 @@
package tiktok package tiktok
// import (
//import ( "git.rosy.net.cn/baseapi/utils"
// "git.rosy.net.cn/baseapi/utils" "net/http"
// "net/http" )
//)
// // OauthAccessTokenResData access_token
//// OauthAccessTokenResData access_token type OauthAccessTokenResData struct {
//type OauthAccessTokenResData struct { AccessToken string `json:"access_token"` // 接口调用凭证
// AccessToken string `json:"access_token"` // 接口调用凭证 UnionId string `json:"union_id"` // 当且仅当该网站应用已获得该用户的userinfo授权时才会出现该字段。
// UnionId string `json:"union_id"` // 当且仅当该网站应用已获得该用户的userinfo授权时才会出现该字段 Scope string `json:"scope"` // 用户授权的作用域(Scope),使用逗号(,分隔开放平台几乎几乎每个接口都需要特定的Scope
// Scope string `json:"scope"` // 用户授权的作用域(Scope),使用逗号(,分隔开放平台几乎几乎每个接口都需要特定的Scope。 ExpiresIn uint64 `json:"expires_in"` // access_token接口调用凭证超时时间单位
// ExpiresIn uint64 `json:"expires_in"` // access_token接口调用凭证超时时间单位 OpenId string `json:"open_id"` // 授权用户唯一标识
// OpenId string `json:"open_id"` // 授权用户唯一标识 RefreshToken string `json:"refresh_token"` // 用户刷新access_token
// RefreshToken string `json:"refresh_token"` // 用户刷新access_token DYError
// DYError }
//}
// // DYError 错误结构体
//// DYError 错误结构体 type DYError struct {
//type DYError struct { ErrorCode int64 `json:"error_code,omitempty"` // 错误码
// ErrorCode int64 `json:"error_code,omitempty"` // 错误码 Description string `json:"description,omitempty"` // 错误码描述
// Description string `json:"description,omitempty"` // 错误码描述 }
//}
// // OauthAccessTokenRes access_token
//// OauthAccessTokenRes access_token type OauthAccessTokenRes struct {
//type OauthAccessTokenRes struct { Data OauthAccessTokenResData `json:"data"`
// Data OauthAccessTokenResData `json:"data"` Message string `json:"message"`
// Message string `json:"message"` }
//}
// // 获取抖音token
//// 获取抖音token func (a *API) GetTiktokToken(code string) (*OauthAccessTokenRes, error) {
//func (a *API) GetTiktokToken(code string) (*OauthAccessTokenRes, error) { tokenReq := make(map[string]interface{}, 4)
// tokenReq := make(map[string]interface{}, 4) tokenReq["client_secret"] = a.clientSecret
// tokenReq["client_secret"] = a.clientSecret tokenReq["code"] = code
// tokenReq["code"] = code tokenReq["grant_type"] = "authorization_code"
// tokenReq["grant_type"] = "authorization_code" tokenReq["client_key"] = a.clientKey
// tokenReq["client_key"] = a.clientKey result, err := a.AccessAPI(BaseURL, TiktokTokenUrl, http.MethodPost, tokenReq)
// result, err := a.AccessAPI(BaseURL, TiktokTokenUrl, http.MethodPost, tokenReq) if err != nil {
// if err != nil { return nil, err
// return nil, err }
// }
// oauthAccessToken := &OauthAccessTokenRes{}
// oauthAccessToken := &OauthAccessTokenRes{} if err := utils.Map2StructByJson(result, oauthAccessToken, false); err != nil {
// if err := utils.Map2StructByJson(result, oauthAccessToken, false); err != nil { return nil, err
// return nil, err }
// } return oauthAccessToken, nil
// return oauthAccessToken, nil }
//}
// // OauthRefreshTokenResData 刷新access_token
//// OauthRefreshTokenResData 刷新access_token type OauthRefreshTokenResData struct {
//type OauthRefreshTokenResData struct { AccessToken string `json:"access_token"` // 接口调用凭证
// AccessToken string `json:"access_token"` // 接口调用凭证 Scope string `json:"scope"` // 用户授权的作用域
// Scope string `json:"scope"` // 用户授权的作用域 ExpiresIn uint64 `json:"expires_in"` // 过期时间,单位(秒)
// ExpiresIn uint64 `json:"expires_in"` // 过期时间,单位(秒) OpenId string `json:"open_id"` // 当前应用下,授权用户唯一标识
// OpenId string `json:"open_id"` // 当前应用下,授权用户唯一标识 RefreshToken string `json:"refresh_token"` // 用户刷新
// RefreshToken string `json:"refresh_token"` // 用户刷新 DYError
// DYError }
//}
// // OauthRefreshTokenRes 刷新access_token
//// OauthRefreshTokenRes 刷新access_token type OauthRefreshTokenRes struct {
//type OauthRefreshTokenRes struct { Data OauthRefreshTokenResData `json:"data"`
// Data OauthRefreshTokenResData `json:"data"` Message string `json:"message"`
// Message string `json:"message"` }
//}
// // 刷新用户Refresh token
//// 刷新用户Refresh token func (a *API) RefreshToken(refreshToken string) (*OauthRefreshTokenRes, error) {
//func (a *API) RefreshToken(refreshToken string) (*OauthRefreshTokenRes, error) { tokenReq := make(map[string]interface{}, 2)
// tokenReq := make(map[string]interface{}, 2) tokenReq["client_key"] = a.clientKey
// tokenReq["client_key"] = a.clientKey tokenReq["refresh_token"] = refreshToken
// tokenReq["refresh_token"] = refreshToken // 通过旧的refresh_token获取新的refresh_token调用后旧refresh_token会失效,新refresh_token有30天有效期。最多只能获取5次新的refresh_token5次过后需要用户重新授权。
// // 通过旧的refresh_token获取新的refresh_token调用后旧refresh_token会失效新refresh_token有30天有效期。最多只能获取5次新的refresh_token5次过后需要用户重新授权。 result, err := a.AccessAPI(BaseURL, TiktokRefreshTokenUrl, http.MethodPost, tokenReq)
// result, err := a.AccessAPI(BaseURL, TiktokRefreshTokenUrl, http.MethodPost, tokenReq) if err != nil {
// if err != nil { return nil, err
// return nil, err }
// } oauthRefreshToken := &OauthRefreshTokenRes{}
// oauthRefreshToken := &OauthRefreshTokenRes{} if err := utils.Map2StructByJson(result, oauthRefreshToken, false); err != nil {
// if err := utils.Map2StructByJson(result, oauthRefreshToken, false); err != nil { return nil, err
// return nil, err }
// } return oauthRefreshToken, nil
// return oauthRefreshToken, nil }
//}