• 26-10-2025, 22:19:37
    #1
    Rss to Instagram

    RSS akışınızı 1080×1080 başlık kartlarına çevirip Instagram Profesyonel hesabınıza otomatik paylaşan küçük bir PHP botu.
    Birçok sitede RSS var ama Instagram’a paylaşım hâlâ elle. Bu yazıda, RSS öğelerini okuyup 1080×1080 başlık kartı görsellerine çeviren ve Instagram Graph API üzerinden otomatik yayımlayan, tamamen kendinize ait küçük bir PHP botu kuruyoruz. Eklenti yok, abonelik yok—sadece PHP (cURL + GD + FreeType) ve bir cron işi.


    Mutlaka "https://developers.facebook.com/apps/" yeni bir app kurmalısınız, user id ve token almalısınız.


    Bölüm yapısı

    1. Gereksinimler (IG Profesyonel + Sayfa, Facebook App, Page Access Token, izinler)
    2. Dosya ağacı ve .env mantığı
    3. iggen.php ile 1080×1080 başlık kartı (font/padding/renk parametreleri)
    4. rss_to_instagram.php ile /media → /media_publish akışı
    5. Cron, limit ve deduplikasyon
    6. SSS / Hata giderme


    Kaynak :
    TR : RSS’ten Instagram’a PHP Botu
    ENG : RSS to Instagram PHP Bot
    Code : Github





    Kod (anahtarsız, paylaşılabilir)


    <?php
    // rss_to_instagram.php (TR anlatım, key-free)
    const IG_USER_ID = 'YOUR_IG_USER_ID';
    const PAGE_TOKEN = 'YOUR_PAGE_ACCESS_TOKEN';
    const RSS_URL = 'https://example.com/feed';
    const CAPTION_TPL = "{title}\n\nDaha fazlası: {link}\n\n#otomasyon";
    const MAX_ITEMS = 3;
    
    function http_get($u){ $ch=curl_init($u); curl_setopt_array($ch,[CURLOPT_RETURNTRANSFER=>1, CURLOPT_FOLLOWLOCATION=>1, CURLOPT_TIMEOUT=>20]); $r=curl_exec($ch); curl_close($ch); return $r; }
    function http_post($u,$f){ $ch=curl_init($u); curl_setopt_array($ch,[CURLOPT_POST=>1, CURLOPT_RETURNTRANSFER=>1, CURLOPT_POSTFIELDS=>$f, CURLOPT_TIMEOUT=>30]); $r=curl_exec($ch); curl_close($ch); return $r; }
    
    function caption($title,$link){
    $c = str_replace(['{title}','{link}'], [$title,$link], CAPTION_TPL);
    return mb_strlen($c)>2200 ? mb_substr($c,0,2190).'…' : $c;
    }
    
    $rss = @simplexml_load_string(http_get(RSS_URL)); if(!$rss){ exit("RSS hatası\n"); }
    $posted=0;
    
    foreach ($rss->channel->item as $it) {
    if ($posted>=MAX_ITEMS) break;
    $title=(string)$it->title; $link=(string)($it->link ?: $it->guid);
    
    // 1080×1080 başlık kartı (JPEG) — kendi endpoint’ine göre güncelle
    $image_url = 'https://yourdomain.com/rss2ig/iggen.php?mode=title'
    . '&title='.urlencode($title)
    . '&brand='.urlencode('#0f172a')
    . '&fg=' .urlencode('#ffffff')
    . '&padx=160&pady=140&maxfs=84&minfs=40'
    . '&label='.urlencode('ozanyildirim.com').'&labelfs=28';
    
    // 1) container
    $c = http_post("https://graph.facebook.com/v20.0/".IG_USER_ID."/media", [
    'image_url'=>$image_url, 'caption'=>caption($title,$link), 'access_token'=>PAGE_TOKEN
    ]);
    $cj=json_decode($c,true); if(empty($cj['id'])){ error_log("container: $c"); continue; }
    
    // 2) publish
    $p = http_post("https://graph.facebook.com/v20.0/".IG_USER_ID."/media_publish", [
    'creation_id'=>$cj['id'], 'access_token'=>PAGE_TOKEN
    ]);
    $pj=json_decode($p,true);
    if(!empty($pj['id'])){ echo "OK: $title\n"; $posted++; } else { error_log("publish: $p"); }
    }
    echo "Bitti: $posted\n";


    Diğer Ücretsiz Kodlarım:
    Instagram’da Toplu Gönderi Silme (Python & instagrapi) [ÜCRETSİZ]
    Rss to Instagram (PHP) [ÜCRETSİZ]
    RSS to X (Twitter) PHP Bot [ÜCRETSİZ]
  • 26-10-2025, 22:36:41
    #2
    Teşekkürler
  • 28-10-2025, 12:22:53
    #3
    instagrapi kullansan daha mantıklı değilmi hocam