Я обработал много API со многих бирж.
Я хочу, чтобы API работал без вмешательства пользователя.
Обычно я писал такие коды
Dim timestamp = getEstimatedServerTimeStamp().ToString
Dim domain = "https://api.kucoin.com"
Dim endpoint = "/api/v1/" + method
Dim stringtosign = timestamp + "GET" + endpoint '1553106384182GET/api/v1/accounts
'Dim secretandpassphrase = _secret1.Split("|"c)
'Dim secret = secretandpassphrase(0) 'a7c38ae4-b6e3-4254-b78c-*******
'Dim passphrase = secretandpassphrase(1) '7Q5eVqOw*******
Dim hasher = New System.Security.Cryptography.HMACSHA256(System.Text.Encoding.UTF8.GetBytes(_secret1))
Dim sighashbyte = hasher.ComputeHash(System.Text.Encoding.UTF8.GetBytes(stringtosign))
Dim sighash = System.Convert.ToBase64String(sighashbyte)
Dim url = domain + endpoint 'url https://api.kucoin.com/api/v1/accounts
Dim response = CookieAwareWebClient.downloadString1(url, "", {Tuple.Create("KC-API-SIGN", sighash), Tuple.Create("KC-API-TIMESTAMP", timestamp), Tuple.Create("KC-API-KEY", _apiKey1), Tuple.Create("KC-API-PASSPHRASE", _passphrase1)})
Return response
Итак, я использую секрет и ключ API.
Однако в Sstex что-то другое.
Сначала они сказали мне зарегистрировать клиента и URL-адрес перенаправления. Что означает URL перенаправления?
Я пытался
собирается https://apidocs.stex.com/#/Profile/get_profile_wallets
чтобы попробовать демо.
Оказывается, я могу видеть содержимое своего кошелька, не используя свой API-ключ и секрет вообще. Вместо API-ключа и секрета я авторизую здесь
https://apidocs.stex.com/#/Profile/get_profile_wallets
Тогда я вижу свои весы.
Итак, после просмотра в Интернете я попробовал похожий код
Я сделал
If token = "" Then
Dim token1 = CookieAwareWebClient.downloadString1("https://app.stex.com/oauth/authorize?client_id=1**&client_secret=3vmEisPCGekF1JGePkwdSKdf4Q00lJTKmwxh****")
End If
Вместо JSON я получаю HTML.
Вот мне и интересно.
Что именно я должен делать с OAuth? Он предназначен для чего-то отличного от обычного доступа к API?
В инструкции написано, что я должен скручивать такие вещи, как
curl -X GET "https://api3.stex.com/profile/wallets?sort=DESC&sortBy=BALANCE" -H "accept: application/json" -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjY1NzUyODQwYmMzMmMwNGU0MTExNmRmYjQ0M2I5NWY4NzAzYmVkYWIyNTk0ZWZhMTg3ZjhhMmQxOThiNzM1NGRkNThjZmYzYWJkZWEzZjg5In0.eyJhdWQiOiIxNDIiLCJqdGkiOiI2NTc1Mjg0MGJjMzJjMDRlNDExMTZkZmI0NDNiOTVmODcwM2JlZGFiMjU5NGVmYTE4N2Y4YTJkMTk4YjczNTRkZDU4Y2ZmM2FiZGVhM2Y4OSIsImlhdCI6MTU1MzI4NTc4NiwibmJmIjoxNTUzMjg1Nzg2LCJleHAiOjE1NTMzMjg5ODYsInN1YiI6IjMxOTgwMSIsInNjb3BlcyI6WyJwcm9maWxlIiwicmVwb3J0cyIsInRyYWRlIl19.aRuu1gmUmpcck_rMh9fcQwfDeJezn0tD0v1aSJ7joIhtsIXAdaw0H-SFOXwzo_HevFrcDnWGrZ4s9sTd1_vgRS2or7HyiV54c0ItVym6bOMKnFhGuxWWLubXN9HstjiM9TSghk7FtF5J0XeIDcY4vp25ycBmWM6Dddeyu4ehu3hurG-jUyT9N1C4u5KwqkYazeE1Z6XpCUrH77tAIlecTssPUzDtM6j-dYJOirYLx-E7fTn6H_bpHq_mosiHEy7IGe2uyggx0UIg4YIIX0noATxNfFiqZlXc32u8NywS7bDkFJ8e4s2r6vbL9pZU7Qe81IFrhs2jgUrQyjxe4SKsyolA9SulwF1haqsRGYTN_fNZyNm7u_Nzs2-RWxZw7h5KHT48AI483bHqJS3qfpjNF7FdpEufnn1QuFplumvyATtlEf56RCTfZ11fWjaET_b19P_3KpJw8H3pYSh8f-7MdIJcn68X1ls_9GahKKlX059I2M_6S2XkjwvnETlhiWGIdpttg2rJ1oHsEiNUuYzj7d1MBKGhSMX4y8OpB9hhW6CjgajG-YVk3SU6JWaVBEY_1w49Q6U-KxD4nzMK5I85Cn1C1iDPExuOwuyRRH1XSxsXLQ9tURsLOytlp7LkUNvzxb5lxZ18ho-OkvkWVkS18oSxR5y__WllywD_6_NT64s"
Так что я должен получить жетон на предъявителя. Как мне получить это, скажем, curl?
Мне нужен стандартный веб-запрос, такой как использование curl. Я хочу избежать незнакомой библиотеки, такой как специализированная библиотека oauth.
Я делаю приложение. Я не делаю сайт. Должен ли я даже использовать oauth2?
Я читал о oauth2 здесь
https://aaronparecki.com/oauth-2-simplified/#roles
В нем говорится, что «пользователи» увидят какой-то веб-сайт и могут «авторизоваться».
Посмотрите. Пользователь - это я. Я получил ключ API, секрет, идентификатор клиента, секрет клиента. Я не хочу, чтобы «пользователям» показывали что-либо. Я одобряю все эти вещи.
Stex говорит, что они откажутся от API версии 2 и будут использовать версию 3API. Они сказали, что API версии 3 использует Oauth.
Подходит ли oauth для приложения, которое запускается без присмотра?