Что нового

Yandex audience API - нужна помощь

VitvIT999

Новичок
Сообщения
1
Репутация
0
Здравствуйте. Несколько дней мучаюсь с Yandex audience API.
описание тут https://tech.yandex.com/audience/doc/segments/uploadfile-docpage/
В теле запроса
POST http://api-audience.yandex.com/v1/management/segments/upload_file
Content-Type: multipart/form-data; boundary=------------------------5b2a52c5c90f668a
Context-Length: 331

--------------------------5b2a52c5c90f668a
Content-Disposition: form-data; name="file"; filename="data.tsv"
Content-Type: application/octet-stream

aaaaaaaa-bbbb-cccc-1111-222222222200
aaaaaaaa-bbbb-cccc-1111-222222222201
--------------------------5b2a52c5c90f668a--

Файл с mac адресами в корне скрипта. формат:
68172914BFA4
58CB522033BB
A43EA06EB094
.........
........
70BBE9A1F2F5
70BBE9F84849
0492267A5272

1320 собраных мак адресов.

Код:
#include <WinHTTP.au3>
#include <WinHTTPConstants.au3>

$fileread="";
$fileopen = FileOpen("testMAC.txt",16)
While 1
    $t = FileRead($fileopen, 1)
    If @error Then ExitLoop
    If $t <> 0x00 Then $fileread &= BinaryToString($t)
WEnd
FileClose($fileopen)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
$url = 'https://api-audience.yandex.com/v1/management/segments/upload_file';
$token = 'тут токен мой';
$clientLogin = 'тут логин мой';

$oHTTP = ObjCreate('WinHttp.WinHttpRequest.5.1')
$oHTTP.Open('POST', $url)
$oHTTP.SetRequestHeader("Authorization","Bearer "&$token)
$oHTTP.SetRequestHeader("Client-Login", $clientLogin)
$oHTTP.SetRequestHeader("Accept-Language", "ru")
;$oHTTP.SetRequestHeader("Content-Type", "application/json; charset=utf-8")
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
$oHTTP.SetRequestHeader('Content-Type','multipart/form-data; boundary=------------------------5b2a52c5c90f668a')
$oHTTP.SetRequestHeader('Context-Length', '1320')

$hi1 = '--------------------------5b2a52c5c90f668a'&@CRLF&'Content-Disposition: form-data; name="mac"; filename="testMAC.txt"'&@CRLF&'Content-Type: application/octet-stream'
$hi2 = $hi1&@CRLF&$fileread&@CRLF&'--------------------------5b2a52c5c90f668a--'
$oHTTP.Send($hi2)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;$oHTTP.Send()
$oHTTP.WaitForResponse
$sHTML = $oHTTP.ResponseText
MsgBox(0,'',$sHTML,0)

ConsoleWrite($sHTML & @CRLF)

ConsoleWrite($hi2 & @CRLF)


ответ яндекса:
Код:
{"errors":[{"error_type":"invalid_uploading","message":"Incorrect format for multipart request"}],"code":400,"message":"Incorrect format for multipart request"}


Авторизация проходит.
Не ругайте сильно. Уже все перепробывал))
Подскажите что я не так делаю?)
 
Верх