api rest яндекс диск создать папку

428
19 июня 2017, 21:59

пытаюсь создать паку на диске в результате получаю такую ошибку помогите исправить {"message":"Метод не поддерживается.","description":"Method Not Allowed","error":"MethodNotAllowedError"} вот мой createPath.php

<?php 
$curl = curl_init(); 
$headers = array( 
    'Content-Type: text/html', 
    'charset=utf-8', 
    'Authorization: xxx', 
); 
$path = curl_init(); 
curl_setopt($path, CURLOPT_URL, "https://cloud-api.yandex.net:443/v1/disk/resources?path=".$_POST['path']); 
curl_setopt($path, CURLOPT_CUSTOMREQUEST, 'GET', CURLOPT_HTTPHEADER, $headers); 
curl_setopt($path, CURLOPT_POSTFIELDS, 'path'); 
$resultpath = curl_exec($path); 
curl_close($path); 
$arrpath = json_decode($resultpath, true);

код index.php

<form method='POST' action='createPath.php'> 
    <input type='text' name='path' value=''> 
    <button type='submit'></button> 
</form>

Answer 1

Запрос создания папки следует отправлять с помощью метода PUT.

Answer 2

Моя ошибка заключалась в неправильном написании кода нужно так чтобы всё работало

<form method='POST' action='createPath.php'> 
    <input type='text' name='path' value=''> 
    <button type='submit'></button> 
</form>

и код createPath.php

ini_set('display_errors',1); 
error_reporting(E_ALL); 
$curl = curl_init(); 
$headers = array( 
    'Content-Type: text/html', 
    'charset=utf-8', 
    'Authorization: ваш токен', 
); 
 
$path = curl_init(); 
curl_setopt($path, CURLOPT_URL, "https://cloud-api.yandex.net:443/v1/disk/resources?path=".$_POST["path"].""); 
curl_setopt($path, CURLOPT_HTTPHEADER, $headers); 
curl_setopt($path, CURLOPT_CUSTOMREQUEST, "PUT"); 
//curl_setopt($path, CURLOPT_POSTFIELDS, 'path'); 
curl_setopt($path, CURLOPT_POSTFIELDS, false); 
    curl_setopt($path, CURLOPT_SSL_VERIFYPEER, true); 
$resultpath = curl_exec($path); 
curl_close($path); 
$arrpath = json_decode($resultpath, true);

должно быть так curl_setopt($path, CURLOPT_HTTPHEADER, $headers); curl_setopt($path, CURLOPT_CUSTOMREQUEST, "PUT"); а не так curl_setopt($path, CURLOPT_CUSTOMREQUEST, 'GET', CURLOPT_HTTPHEADER, $headers); и не важно что там будет PUT или GET работать не будет , а так да что бы папка создалась нужен метод PUT

READ ALSO
Переход на страницу по id

Переход на страницу по id

При нажатии на кнопку поста выдает ошибку 404Как должен выглядеть маршрут к посту

231
Повесить хук на событие &ldquo;Обновить&rdquo; в Страницы-&gt;Редактировать страницу

Повесить хук на событие “Обновить” в Страницы->Редактировать страницу

Собственно надо, чтобы при нажатии на кнопку "Обновить" в админке WP Страницы->Редактировать страницу срабатывала своя функция, которая проверяет,...

211
PHP единая точка входа?

PHP единая точка входа?

Здравствуйте, делаю единую точку входа(подключаю страницы) и не могу реализовать такоеИмею вот такой код в файле index

428
MySQL синтаксис (объединить 5 таблиц в запросе)

MySQL синтаксис (объединить 5 таблиц в запросе)

Мне нужно вывести из 5 таблиц все данные, у которых равны idТак не правильно и не работает

284