I have problem when I want to fetch image that was sent to my DM. So when I fetch the DM data from API, I got the media id for the image but how to fetch it?
I want to fetch the image and tweet it to my account.
So basically:
- Someone send DM to me with media
- I read my account DM from API
- Tweet DM content to my account
Here is my code
$AMConnection = new \Twitter\OAuth(AM_CONSUMER_KEY, AM_CONSUMER_SECRET);
$AMConnection->setAccessToken($amService->token, $amService->secret);
$jsonData = json_decode(file_get_contents("./fetchDM.json"));
foreach ($jsonData as $json) {
if (!isset($json->entities->media)) continue;
$medias = $json->entities->media;
$postParam['status'] = $json->text;
foreach ($medias as $image) {
$postParam['status'] = str_replace($image->url, "", $postParam['status']);
$postParam['media_ids'][] = $image->id_str;
}
echo "SEND TWEET".PHP_EOL;
$return = $AMConnection->post('statuses/update', $postParam);
var_dump($return);
if (isset($return->errors) and count($return->errors) > 0) {
foreach ($return->errors as $error) {
if ($error->code == 89) {
$amService->token = null;
$amService->secret = null;
$amService->save();
break;
}
}
}
}
On my code, I was tried to tweet media using media_id but it doesn't work. Sorry for bad english