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

2 Comments

  1. 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 .

  2. 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

*
Gereksiz Yorumlari Engellemek icin bu uygulamaya 3 sn katlanmak zorundasiniz .
Buraya Tiklayin

Click to hear an audio file of the anti-spam word