@Jasur0090

Как загрузить документ по Api Vk?

<?php
define('VK_ACCESS_TOKEN', 'xxx');
define('VK_API_VERSION', 5.103);

$ch = curl_init();
$parameters = http_build_query([
    'access_token' => VK_ACCESS_TOKEN, // access_token / ключ доступа
    'v'            => VK_API_VERSION, // версия API
    'group_id'     => xxx // ID группы
]);

curl_setopt($ch, CURLOPT_URL, 'https://api.vk.com/method/docs.getUploadServer?' . $parameters);
curl_setopt($ch, CURLOPT_HTTPGET, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

$curl_result = json_decode(curl_exec($ch), TRUE); 


curl_close($ch);



$ch = curl_init();
$parameters = ['file' => new CURLFile('m.pdf', 'multipart/form-data')];

curl_setopt($ch, CURLOPT_URL, $curl_result['response']['upload_url']);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $parameters);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_SAFE_UPLOAD, TRUE);
                                                
$upload = curl_exec( $ch );

$file1 = json_decode($upload, TRUE);
$file = $upload['file'];




$ch = curl_init();
$parameters = http_build_query([
    'name'           => 'm',
    'file'           => $file,
    'title'  => 'Исчерпывающее описание нашей первой видеозаписи.'
]);
curl_setopt($ch, CURLOPT_URL, 'https://api.vk.com/method/docs.save?' . $parameters);
curl_setopt($ch, CURLOPT_HTTPGET, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

$curl_result = json_decode(curl_exec($ch), TRUE); // превращаем JSON-массив, который нам вернул VK, в обычный PHP-массив


curl_close($ch);




if (isset($curl_result['error'])) {
    exit('Строка ' . __LINE__ . ': Ошибка при загрузке на серверы ВК: ' . $curl_result['error'] . '.');
}
?>

Не могу понять как сохранить методом docs.save...
  • Вопрос задан
  • 96 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы