Eğer birden fazla internet siteniz ve bunların facebook sayfaları varsa sayfaların yönetimi, paylaşım yapmak gibi işlemler can sıkıcı ve zaman alıcı olabiliyor.
Bende bu soruna böyle bir çözüm buldum. Kodları Postman ile hazırladım.
Kurulum
- %RESIM_URL% yerine paylaşılacak olan resmin adresini yazın.
- %MESAJ% yerine resim ile paylaşılacak durum yazısını yazın.
- %FB_TOKEN% yerine facebook access tokeni yazın.
- İşleri tamamen otomatik hale getirmek isterseniz hosting kontrol panelinizden cron jobs kısmına şu komutu kendinize göre düzenledikten sonra ekleyebilirsiniz:
/usr/bin/php -q /home/hostadiniz/public_html/dizin/dosya.php
Facebook Token Alma
Halihazırda bir facebook uygulamanızın olduğunu varsayarak facebook uygulama oluşturma kısmını atlıyorum.
- https://developers.facebook.com/tools/explorer/ adresine giderek kendinize token alın. Eğer sayfada paylaşım yapacaksanız publis_pages yetkisi vermeyi unutmayın.
- https://developers.facebook.com/tools/debug/accesstoken/ adresini ziyaret ederek token sürenizi uzatın. Süre bittiğinde tekrar uzatmanız gerekecektir.
Kodlar
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://graph.facebook.com/v2.8/me/photos",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"url\"\r\n\r\n%RESIM_URL%\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"caption\"\r\n\r\n%MESAJ%\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"access_token\"\r\n\r\n%FB_TOKEN%\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--",
CURLOPT_HTTPHEADER => array(
"cache-control: no-cache",
"content-type: multipart/form-data;",
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}