Here is a very simple way to post to the Mastodon API using PHP and cURL.
You will need an access token which you can get from your Mastodon instance settings (Settings -> Development -> Your applications -> New application). Replace <ACESS_TOKEN>
with your application access token and <MASTODON_INSTANCE_URL>
with … your Mastodon instance URL.
$headers = [
'Authorization: Bearer <ACCESS_TOKEN>'
];
$data = array(
"status" => "Hello world!",
"language" => "eng",
"visibility" => "public"
);
$ch_status = curl_init();
curl_setopt($ch_status, CURLOPT_URL, "<MASTODON_INSTANCE_URL>/api/v1/statuses");
curl_setopt($ch_status, CURLOPT_POST, 1);
curl_setopt($ch_status, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch_status, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch_status, CURLOPT_HTTPHEADER, $headers);
$status = json_decode(curl_exec($ch_status));
curl_close ($ch_status);
This will return a JSON-formatted Mastodon Status object in the $status
variable. If you need more info, check out the documentation.