Я пытаюсь отправить ссылку Post на reddit.com используя php curl. У меня есть токен доступа пользователя, но я не могу опубликовать на Reddit и получаю код ошибки 403. Вот пример кода, который я пытаюсь выполнить:
$subreddit='funny';
$kind='link';
$postVals = sprintf("kind=%s&sr=%s&title=%s&r=%s",
$kind,
$subreddit,
urlencode('Test Post'),
$subreddit);
$postVals .= "&url=" . urlencode( 'http://seextra.com');
$urlSubmit = "http://www.reddit.com/api/v1/submit";
$ch = curl_init($urlSubmit);
$options = array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CONNECTTIMEOUT => 5,
CURLOPT_TIMEOUT => 10
);
if (!empty($_SERVER['HTTP_USER_AGENT'])){
$options[CURLOPT_USERAGENT] = $_SERVER['HTTP_USER_AGENT'];
}
if ($postVals != null){
$options[CURLOPT_POSTFIELDS] = $postVals;
$options[CURLOPT_CUSTOMREQUEST] = "POST";
}
$headers = array("Authorization:bearer".$access_token , "User-Agent:".$_SERVER['HTTP_USER_AGENT']);
$options[CURLOPT_HEADER] = false;
$options[CURLINFO_HEADER_OUT] = false;
$options[CURLOPT_HTTPHEADER] = $headers;
$options[CURLOPT_USERPWD] = Reddit_Client_Id . ":" . Reddit_Client_secret;
// Reddit_Client_Id client id
// Reddit_Client_secret secret key
$options[CURLOPT_SSLVERSION] = 4;
$options[CURLOPT_SSL_VERIFYPEER] = false;
$options[CURLOPT_SSL_VERIFYHOST] = 2;
pr($options);
curl_setopt_array($ch, $options);
$apiResponse = curl_exec($ch);
$response = json_decode($apiResponse);
curl_close($ch);
print_r($response);
Вот ответ от Reddit:
stdClass Object
(
[error] => 403
)
Не могли бы вы помочь мне с этим?
Спасибо,
Сэчин
Задача ещё не решена.
Других решений пока нет …