I'm playing with the write API, and I'd like to simply retag a question. This is the code I have so far:
$editURL = 'https://api.stackexchange.com/2.2/questions/' . $question->{"question_id"} . '/edit';
echo 'https://api.stackexchange.com/2.2/questions/' . $question->{"question_id"} . '/edit';
$editData = array('site' => 'stackoverflow', 'preview' => 'true', 'id' => $question->{"question_id"}, 'key' => "6Z09liTt4uTQU*a4DYOXVQ((", 'access_token' => $access_token, 'title' => $question->{"title"}, 'body' => $question->body_markdown, 'tags' => $taglist, 'comment' => 'rm [' . $tag . '] tag');
print_r($editData);
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded, Accept-Encoding: gzip;q=0, compress;q=0\r\n",
'method' => 'POST',
'content' => http_build_query($editData),
'ignore_errors' => true,
),
);
$context = stream_context_create($options);
print_r(gzdecode(file_get_contents($editURL, false, $context)));
When I turn preview
to false
, it works and retags the question. However, it also adds in some HTML entities (like encoding stuff, "e
and whatnot) to the title and body. Is there a way to not bother with passing the existing title and markdown and just editing the tags?