Php ile Blogger(Blogspot) Hesaplarınıza Otomatik Yazı Ekleme

Blogger dünyaca ünlü bir bloglama sitesi olup ücretsiz blog hesabı açıp blog yazılarımızı yayınlamamızı sağlayan bir servis ve google'nin de çok önem verdiği ve satın aldığı bir servis . Şimdi bu yazımda sizlere Php ile otomatik olarak blogger hesabımıza nasıl içerik ekleyebileceğimizi anlatmak istiyorum.

ilk önce blogger.class.php dosyasının kodlarını veriyorum :

PHP:
  1. <?php
  2. class blogger{
  3. // Türkçe Karekterleri UTF-8 Çevirmek için
  4. function cevir($gel){
  5. if($this->dil==1){ $gel=iconv("ISO-8859-9", "UTF-8", $gel); }
  6. return $gel;
  7. }
  8. // XML Oluşturuyoruz
  9. function olustur($ad,$etiket,$icerik){
  10. $ad=$this->cevir($ad);
  11. $icerik=$this->cevir($icerik);
  12. $xml="<entry xmlns='http://www.w3.org/2005/Atom'>
  13. <title type='text'>$ad</title>
  14.   <content type='xhtml'>
  15.     <div xmlns=\"http://www.w3.org/1999/xhtml\">".$icerik."</div>
  16.   </content>";
  17. foreach($etiket as $liz0){
  18. $liz0=$this->cevir($liz0);
  19. $xml.='<category scheme="http://www.blogger.com/atom/ns#" term="'.$liz0.'" />';
  20. }
  21. $xml.="</entry>";
  22. return $xml;
  23. }
  24.  
  25. function user($a){
  26. return $this->kullanici=$a;
  27. }
  28. function pass($a){
  29. return $this->sifre=$a;
  30. }
  31. function no($a){
  32. return $this->id=$a;
  33. }
  34. function dil($a){
  35. return $this->dil=$a;
  36. }
  37. // Giriþ Yapýyoruz
  38. function tokenal(){
  39. $ch3 = curl_init();
  40. curl_setopt($ch3, CURLOPT_URL, 'https://www.google.com/accounts/ClientLogin');
  41. curl_setopt($ch3, CURLOPT_POSTFIELDS,"Email=$this->kullanici&Passwd=$this->sifre&accountType=GOOGLE&service=blogger&source=curlbaglan");
  42. curl_setopt($ch3, CURLOPT_POST, 1);
  43. curl_setopt($ch3, CURLOPT_HEADER, 0);
  44. curl_setopt($ch3, CURLOPT_FOLLOWLOCATION, 1);
  45. curl_setopt($ch3, CURLOPT_SSL_VERIFYPEER, false);
  46. curl_setopt($ch3, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3");
  47. curl_setopt($ch3, CURLOPT_RETURNTRANSFER, 1);
  48. $finish = curl_exec($ch3);
  49. $a=explode("Auth=",$finish);
  50. $x=trim($a[1]);
  51. return $this->token=$x;
  52. }
  53. function token(){
  54. $this->tokenal();
  55. return $this->token;
  56. }
  57. // Gönderiyoruz.
  58. function yaz($konu,$etiket,$icerik){
  59. $this->token();
  60. $xml=$this->olustur($konu,$etiket,$icerik);
  61. $s=strlen($xml);
  62. $header[]="Content-Type: application/atom+xml";
  63. $header[]="Content-length: $s";
  64. $header[]="Authorization: GoogleLogin auth=$this->token";
  65. $ch = curl_init();
  66. curl_setopt($ch, CURLOPT_URL, 'http://www.blogger.com/feeds/'.$this->id.'/posts/default');
  67. curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
  68. curl_setopt($ch, CURLOPT_POST, 1);
  69. curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
  70. curl_setopt($ch, CURLOPT_HEADER, 0);
  71. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
  72. curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3");
  73. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  74. $sonuc = curl_exec($ch);
  75. if(strpos($sonuc,"Error") OR strpos($sonuc,"The element")){
  76. return "Hata OLUŞTU<br/>".$sonuc;
  77. }else{
  78. return  'Gönderme Başarılı\r\n';
  79. //echo $sonuc;
  80. }
  81. }
  82. }
  83.  
  84.  
  85.  
  86. ?>

Şimdi bu verdiğim class dosyamızı ayrı biryere alıp kayıt ediyoruz. Aynı dizinde bulunması gereken diğer dosyamız ise bloggera_yaz.php dosyası olsun bu dosyamızın kodlarıda şu şekilde :

PHP:
  1. <?
  2. require('blogger.class.php'); // Class dosyamızı çağırıyoruz .
  3. /*
  4. Örnek Aşağıda
  5. Öncelikle bilmeniz gerekenler kullanıcı adı , şifre ve blogid tabiki...
  6. blogger.com hesabınıza girdikten sonra blogid alabilirsiniz .
  7. */
  8.  
  9. $kullanici = "GMAİL ADRESİNİZ "; // Mail adresiniz
  10. $sifre = "1*********"; // Şifreniz
  11. $id = "1889*******36"; // Blog id
  12.  
  13. // Toplu Yazı Ekleme Yapalım
  14. for($i=0;$i<10;$i++){
  15.  
  16.  
  17.  
  18. $konu="Baslik $i "; // Yazı Başlık
  19. /*
  20. Etiketler array olmalıdır .
  21. */
  22. $etiket[]="deneme";
  23. /*
  24. Yazının İçeriği
  25. */
  26. $icerik="http://www.byumut.com/ - içerik $i ";
  27.  
  28. /*
  29. Blogger'e post etmek için
  30. */
  31. $blog=& new blogger; // Classı kullanmaya başlıyoruz
  32. $blog->user($kullanici); // Kullanıcı adı
  33. $blog->pass($sifre); // Şifre
  34. $blog->no($id); // Blog No
  35. $blog->dil(1); //Yolladığımız Türkçe veriyi UTF-8'e  çevirmesini istiyoruz.
  36. echo $blog->yaz($konu,$etiket,$icerik); // Son olarak Gönderiyoruz
  37.  
  38. // işte bu kadar
  39. }
  40.  
  41. ?>

Geliştirmesi size kalmış değişk örnekler ile geliştirdiklerinizi bizlerle sizlerde paylaşabilirsiniz. Hepinize kolay gelsin

136 views

4 Comments

  1. hocam merhaba, bu sistemde çalışma mantığı nedir tam olarak. Benim bir hesabımda 10 adet blog var ve ben otomatik olarak bir yazıyı bu kodlarla aynı anda 10 bloga da gönderebilir miyim? eğer bu şekildeyse gerçekten çok faydalı olur benim için

  2. kadir db diyor ki:

    Üstad çok teşekkürler yanlız bir sorum olacak, blogger’a php ile resim upload etmek mümkün mü ?

  3. byumut diyor ki:

    Evet hala izin veriyor arkadaşım tekrar kontrol edersen çalışmaması mümkün değil ben tekrardan sen söyleyince denedim çalıştı . Sen sanırım başka bir yerde hata yapıyorsun .

  4. circass diyor ki:

    Bloggerın buna halen izin verip vermediğini biliyor muyuz ?
    Ben denedim çalışmadı, içerik başarıyla eklendi mesajını görüyorum curl çalıştıktan sonra ama blogta bi ekleme yok…

Leave a Reply

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word