MrFallen
Новичок
Добрый вечер. Решил немного автоматизировать процесс публикации конкурсов из Вконтакте на сайт mrandom.com.
	
	
		
			
	
	
	
		
		
	
С формы заполняю поля и отправляю. Вроде бы всё правильно сделал, но получаю такой ответ от API:
	
	
	
		

Открыл документацию по API и заметил, что в ответе API нет кода ошибки. Как я понял, ошибка должна быть в таком формате: "{error: "Используемый токен недействителен", code: 1}", но мне приходит: {"error":"Вы не авторизованы"}. Параметра "code" просто нет. Что значит "Вы не авторизованы" и как это исправить?
								
		PHP:
	
	<?php
$data_string = '{
  "token": "7654778446bdbc6b6f5e27114*******1bf32639a565253648d226a361c11d71b8dac16e77da04d5fc5e7eb",
  "title": $title,
  "url": $url,
  "provider": "vkontakte",
  "language": "ru_RU",
  "category": 3,
  "hashtags": "игры, игра",
  "finish_conditions": {
    "action": "participants",
    "count": $count
  },
  "participation_conditions": {
    "repost": $repost,
    "like": $like,
    "join": $join
  },
  "prizes": [
    {
      "name": $name,
      "percent": false,
      "count": $count_prizes
    }
  ]
}'$title = "";
$url = "";
$count = "";
$repost = "";
$like = "";
$join = "";
$name = "";
$count_prizes = "";
if (isset($_POST['title'])) {
    $title = $_POST['title'];
}
else {
    $title = NULL;
}
if (isset($_POST['url'])) {
    $url = $_POST['url'];
}
else {
    $url = NULL;
}
if (isset($_POST['count'])) {
    $count = $_POST['count'];
}
else {
    $count = NULL;
}
if (isset($_POST['repost'])) {
    $repost = "true";
}
else {
    $repost = "false";
}
if (isset($_POST['like'])) {
    $like = "true";
}
else {
    $like = "false";
}
if (isset($_POST['join'])) {
    $join = "true";
}
else {
    $join = "false";
}
if (isset($_POST['name'])) {
    $name = $_POST['name'];
}
else {
    $name = NULL;
}
if (isset($_POST['count_prizes'])) {
    $count_prizes = $_POST['count_prizes'];
}
else {
    $count_prizes = NULL;
}
echo $title . "<br />";
echo $url . "<br />";
echo $count . "<br />";
echo $repost . "<br />";
echo $like . "<br />";
echo $join . "<br />";
echo $name . "<br />";
echo $count_prizes . "<br /><br />----------------------------------------------<br />";
$ch = curl_init('http://mrandom.com/contest/create?v=1');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_POSTREDIR, 3);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/x-www-form-urlencoded',
    'Content-Length: ' . strlen($data_string)
));
$result = curl_exec($ch);
curl_close($ch);
echo "Ответ на Ваш запрос: " . $result . "<br />" . "<br />";
var_dump($result)
?>
		Код:
	
	{"error":"Вы не авторизованы"}
Открыл документацию по API и заметил, что в ответе API нет кода ошибки. Как я понял, ошибка должна быть в таком формате: "{error: "Используемый токен недействителен", code: 1}", но мне приходит: {"error":"Вы не авторизованы"}. Параметра "code" просто нет. Что значит "Вы не авторизованы" и как это исправить?
								
									Последнее редактирование: 
								
							
						
						
	
					 
	            
