Blogger Data API, istemci uygulamalarının Blogger içeriğini Google Data API feed'leri biçiminde görüntülemesine ve güncellemesine olanak tanır.
İstemci uygulamanız, yeni blog yayınları oluşturmak, mevcut blog yayınlarını düzenlemek veya silmek ve belirli ölçütlere uyan blog yayınlarını sorgulamak için Blogger Veri API'sini kullanabilir.
Bu doküman, Blogger Data API'nin özellikleri hakkında bilgi vermenin yanı sıra Zend Google Data API'leri istemci kitaplığını kullanarak temel Data API etkileşimlerine dair örnekler sunar. Kitaplığın kullandığı temel protokol hakkında daha fazla bilgi edinmek istiyorsanız bu geliştirici kılavuzunun Protokol bölümüne bakın.
İçindekiler
Kitle
Bu doküman, Blogger ile etkileşime geçebilecek PHP istemci uygulamaları yazmak isteyen programcılara yöneliktir.
Bu dokümanda, Google Veri API'leri protokolünün temel fikirlerini anladığınız varsayılmaktadır.
İstemci kitaplığı tarafından sağlanan sınıflar ve yöntemler hakkında referans bilgiler için PHP istemci kitaplığı API referansı bölümüne bakın. Genel Blogger Data API referans bilgileri için Protokol referans kılavuzuna bakın.
Başlarken
İstemci kitaplığını ayarlama konusunda yardım için Başlangıç Kılavuzu'na bakın.
Zend istemci kitaplığı için PHP 5.1.4 veya daha yeni bir sürüm gerekir. Zend Framework'un bir parçası olarak ve ayrı bir indirme olarak kullanılabilir. Blogger ile etkileşimde bulunmak için istemci kitaplığının 1.0.0 veya sonraki bir sürümünü kullanın.
Blogger hesabı oluşturma
Test amacıyla Blogger hesabına kaydolmanız önerilir. Blogger, Google Hesaplarını kullanır. Dolayısıyla, zaten bir Google Hesabınız varsa hazırsınız demektir.
Örnek kodu çalıştırma
Bu belgede gösterilen tüm örnek kodları içeren, çalışan bir örnek istemciyi Zend Framework SVN deposunda bulabilirsiniz. Sana Özel örneği /framework/standard/trunk/demos/Zend/Gdata/Blogger.php adresinde bulunur. Örnek, bu dokümanda açıklanan tüm işlevleri içerir. Yalnızca komut satırından çalıştırılabilir:
php Blogger.php -- --user=[email_address] --pass=[password]
Bu örneği çalıştırmadan veya Zend Framework'i kullanarak kendi kodunuzu geliştirmeden önce include_path
ayarını yapmanız ve uygun sınıfları yüklemeniz gerekebilir. Dahil etme yolu, php.ini ayarı veya set_include_path yöntemi kullanılarak ayarlanabilir. Bu kod, temel Zend_Gdata sınıfına, Zend_Gdata_Query sınıfına ve kimlik doğrulama sınıfı Zend_Gdata_ClientLogin'a erişim isteğinde bulunur.
require_once 'Zend/Loader.php'; Zend_Loader::loadClass('Zend_Gdata'); Zend_Loader::loadClass('Zend_Gdata_Query'); Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
Sihirli alıcı ve ayarlayıcıları kullanma
PHP istemci kitaplığında, geliştiricilere kolaylık sağlamak için sihirli ayarlayıcılar/alıcılara destek eklendi. Bu yöntemler, geleneksel ayarlayıcı/alıcı yöntemleri kullanılarak veya doğrudan erişilerek bir sınıfın özelliklerine güvenli bir şekilde erişilmesine olanak tanır. Örneğin, $gdataObject
bu kitaplıktaki bir nesnenin örneğiyse aşağıdaki iki kod satırı aynı etkiye sahiptir:
$gdataObject->setFoo("bar"); $gdataObject->foo = "bar";
Benzer şekilde, bu iki kod satırının da etkileri aynıdır:
$baz = $gdataObject->getFoo(); $baz = $gdataObject->foo;
Benzer şekilde, sihirli fabrika yöntemleri yeni nesneleri tanımlamayı kolaylaştırır. Zend adlandırma kuralı tarafından zorunlu kılınan uzun sınıf adlarını hatırlamak yerine, Zend hizmet istemcisinde newObject();
'i çağırarak yeni bir object
oluşturabilirsiniz. Örneğin, aşağıdaki iki snippet'in her ikisi de yeni bir draft
uzantı nesnesi tanımlar. drafts
hakkında daha fazla bilgiyi Yayın oluşturma bölümünde bulabilirsiniz.
// Traditional instantiation $gdClient = new Zend_Gdata(); $draft = new Zend_Gdata_App_Extension_Draft(); // Magic factory instantiation $gdClient = new Zend_Gdata(); $draft = $gdClient->newDraft();
Sihirli ayarlayıcılar/alıcıları ve fabrikalar isteğe bağlıdır. Bu nedenle, sizin için en uygun yaklaşımı kullanın.
Diğer kaynaklar
Zend Framework'un Google Veri API'leri bileşeni (Zend_Gdata) ile ilgili diğer kaynaklar:
- Referans Dokümanları
- Posta listesi bilgileri ve arşivleri
- Zend Framework Subversion bilgileri
- Zend Framework gecelik anlık görüntüleri
Blogger hizmetinde kimlik doğrulama
Blogger Data API'yi kullanarak hem herkese açık hem de özel feed'lere erişebilirsiniz. Herkese açık feed'ler için kimlik doğrulama gerekmez ancak bunlar salt okunurdur. Blogları değiştirmek istiyorsanız istemcinizin gizli feed'ler istemeden önce kimliğini doğrulaması gerekir. OAuth kimlik doğrulaması, AuthSub proxy kimlik doğrulaması veya ClientLogin kullanıcı adı/şifre kimlik doğrulaması olmak üzere üç yaklaşımdan herhangi birini kullanarak kimlik doğrulaması yapabilir.
Genel olarak Google Veri API'leriyle kimlik doğrulama hakkında daha fazla bilgi için kimlik doğrulama belgelerine bakın.
Bu dokümanın sonraki bölümlerindeki örneklerin çoğunda, $gdClient
adlı kimliği doğrulanmış bir istemci nesnenizin olduğu varsayılır.
OAuth kimlik doğrulaması
Zend PHP GData kitaplığını kullanarak OAuth kimlik doğrulaması hakkında dokümanlar için lütfen Google Veri Protokolü İstemci Kitaplıklarında OAuth başlıklı makaleyi inceleyin.
AuthSub proxy kimlik doğrulaması
AuthSub proxy kimlik doğrulaması, kullanıcılarının Google Hesaplarında kimliğini doğrulaması gereken web uygulamaları tarafından kullanılır. Web sitesi operatörü ve istemci kodu, Blogger kullanıcısının kullanıcı adına ve şifresine erişemez. Bunun yerine, istemci belirli bir kullanıcı adına işlem yapmasına olanak tanıyan özel AuthSub jetonları alır. Daha ayrıntılı bilgi için AuthSub belgelerine bakın.
Bir kullanıcı uygulamanızı ilk kez ziyaret ettiğinde kimliği henüz doğrulanmamıştır. Bu durumda, kullanıcıların bloglarına erişim isteğinizin kimliğini doğrulamak için bazı bilgiler ve kullanıcıyı bir Google sayfasına yönlendiren bir bağlantı göstermeniz gerekir. Zend istemci kitaplığı, Google sayfasının URL'sini oluşturmak için bir işlev sağlar. Aşağıdaki kod, AuthSubRequest sayfasının URL'sini alır:
function getAuthSubUrl() { $next = getCurrentUrl(); $scope = 'http://www.google.com/blogger/feeds/'; $secure = false; $session = true; return Zend_Gdata_AuthSub::getAuthSubTokenUri($next, $scope, $secure, $session); } $authSubUrl = getAuthSubUrl(); echo '<a href=\"$authSubUrl\">login to your Google account</a>';
getAuthSubTokenUri
yöntemi aşağıdaki parametreleri alır (AuthSubRequest işleyicisi tarafından kullanılan sorgu parametrelerine karşılık gelir):
- sonraki
- Google'ın kimlik doğrulamasından sonra kullanıcıyı yönlendirmesi gereken sayfanın URL'si.
- kapsam
- Uygulamanın, Blogger feed'lerine erişmek için jeton istediğini gösterir. Kullanılacak kapsam dizesi
http://www.blogger.com/feeds/
'tir (elbette URL kodlamalıdır). - güvenli
- İstemcinin güvenli bir jeton isteyip istemediğini belirtir.
- oturum
- Döndürülen jetonun çok kullanımlı (oturum) jetonuyla değiştirilip değiştirilemeyeceğini belirtir.
Yukarıdaki örnekte, güvenli jeton istemeyen bir çağrı gösterilmektedir (secure
değeri false
'tır). Bunun sonucunda oluşan istek URL'si şu şekilde olabilir:
https://www.google.com/accounts/AuthSubRequest?scope=http%3A%2F%2Fwww.blogger.com%2Ffeeds%2F&session=1&secure=0&next=http%3A%2F%2Fwww.example.com%2Fwelcome.php
Kullanıcı, Google'ın sitesine giden bağlantıyı takip eder ve Google Hesabı'nda kimlik doğrulaması yapar.
Kullanıcı kimliğini doğruladıktan sonra AuthSub sistemi, kullanıcıyı AuthSubRequest URL'sinin next
sorgu parametresinde belirttiğiniz URL'ye yönlendirir. AuthSub sistemi, token
sorgu parametresinin değeri olarak bu URL'ye bir kimlik doğrulama jetonu ekler. Örneğin:
http://www.example.com/welcome.php?token=yourAuthToken
$_GET['token']
değerini kullanarak jeton değerini alabilirsiniz.
Bu jeton değeri, tek kullanımlık bir AuthSub jetonunu temsil eder. Bu örnekte, $session = true
belirtildiği için bu jeton, AuthSubSessionToken
hizmetini çağıran Zend_Gdata_AuthSub::getAuthSubSessionToken
yöntemi kullanılarak AuthSub oturum jetonuyla değiştirilebilir:
if(! isset($_SESSION['sessionToken']) && isset($_GET['token'])) { $_SESSION['sessionToken'] = Zend_Gdata_AuthSub::getAuthSubSessionToken($_GET['token']); }
Kod snippet'i önce bir AuthSub oturum jetonunun mevcut olup olmadığını kontrol eder. Aksi takdirde, URL'de tek kullanımlık bir jeton belirtilirse kod snippet'i tek kullanımlık jetonu getAuthSubSessionToken
yöntemine iletir ve AuthSub arayüzü bir oturum jetonu döndürür. Ardından kod, oturum jetonu değerini $_SESSION['sessionToken']
oturum değişkenine yerleştirir.
Ardından uygulamanız, Blogger ile sonraki etkileşimlerde oturum jetonu değerini kullanabilir. AuthSub kimlik bilgilerini içerecek şekilde Authorization
başlık hazır ayarına sahip bir Zend_Http_Client
nesnesi almak için Zend_Gdata_AuthSub::getHttpClient
yöntemini kullanabilirsiniz:
$client = Zend_Gdata_AuthSub::getHttpClient($_SESSION['sessionToken']);
ClientLogin kullanıcı adı/şifre kimlik doğrulaması
İstemciniz bağımsız, tek kullanıcılı "yüklü" bir istemciyse (masaüstü uygulaması gibi) ClientLogin kimlik doğrulamasını kullanın.
Aşağıdaki kod, ClientLogin hizmetine istek göndermek, kimlik doğrulama jetonu almak ve uygun kimlik doğrulama başlığını içeren bir Zend_Http_Client
nesnesi oluşturmak için Zend_Gdata_ClientLogin::getHttpClient
yöntemini kullanır. Ardından, bu yöntem tarafından döndürülen HttpClient
, bir Zend_Gdata
hizmet nesnesi oluşturmak için kullanılır.
$accountType
değerinin açıkça GOOGLE
olarak ayarlandığını unutmayın. Bu parametrenin ayarlanmaması, G Suite kullanıcılarının Blogger API'yi başarılı bir şekilde kullanmasını engeller.
$user = 'user@example.com'; $pass = 'secretPasswd'; $service = 'blogger'; $client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service, null, Zend_Gdata_ClientLogin::DEFAULT_SOURCE, null, null, Zend_Gdata_ClientLogin::CLIENTLOGIN_URI, 'GOOGLE'); $gdClient = new Zend_Gdata($client);
Örnek istekler ve yanıtlar da dahil olmak üzere ClientLogin kimlik doğrulaması hakkında daha fazla bilgi için Yüklü Uygulamalar için Kimlik Doğrulama dokümanlarını inceleyin.
Not: Belirli bir oturumdaki tüm istekler için aynı jetonu kullanın. Her Blogger isteği için yeni bir jeton edinmeyin.
Not: ClientLogin dokümanlarında açıklandığı gibi, kimlik doğrulama isteği başarısız olabilir ve CAPTCHA istemi istenebilir. Google'ın CAPTCHA sorgusunu gönderip işlemesini istiyorsanız kullanıcıyı https://www.google.com/accounts/DisplayUnlockCaptcha?service=blogger
(ClientLogin dokümanlarında verilen CAPTCHA işleme URL'si yerine) adresine yönlendirin.
Blog listesini alma
Blogger Data API, belirli bir kullanıcının bloglarını listeleyen bir feed sağlar. Bu feed, "meta feed" olarak bilinir.
Aşağıdaki örnek kodda, meta feed'i almak için kimliği doğrulanmış bir $gdClient
nesnesi kullanılır ve ardından her blogun başlığı yazdırılır.
Sorgu URL'sinin oluşturulması Zend_Gdata_Query
sınıfına aittir. Bu durumda ek bir işlem yapılması gerekmez ancak Query
sınıfının yararlılığı bu dokümanın sorgu parametrelerine göre yayınları alma bölümünde açıkça görülebilir.
function printAllBlogs() { $query = new Zend_Gdata_Query('http://www.blogger.com/feeds/default/blogs'); $feed = $gdClient->getFeed($query); printFeed($feed); } function printFeed($feed) { $i = 0; foreach($feed->entries as $entry) { print $i ." ". $entry->title->text . "\n"; $i++; } }
getFeed
yöntemi tarafından kullanılan URL'yi not edin. Bu, varsayılan meta feed URL'sidir. O anda kimliği doğrulanmış kullanıcının bloglarının listesini döndürür.
Farklı bir kullanıcının feed'ine erişmek için meta feed URL'sinde default
yerine kullanıcının kimliğini girebilirsiniz. Kullanıcının kimliği, kullanıcının profil URL'sinin sonundaki rakamlardan oluşan dizedir.
Aşağıdaki kod snippet'inde, feed'den blog kimliğinin nasıl ayıklanacağı gösterilmektedir. Yayınlar ve yorumlarla ilgili oluşturma, güncelleme ve silme işlemlerini gerçekleştirmek için blog kimliğine ihtiyacınız vardır. $index
değişkeni, kullanıcının blog feed'inde hangi blogun kullanıldığını temsil eder. id
alanı tag:blogger.com,1999:user-userID.blog-blogID
biçimini alır. Bu nedenle, "-" karakterinde bir split
, blog kimliğini elde edilen dizinin son öğesine yerleştirir.
$idText = split('-', $feed->entries[$index]->id->text); $blogID = $idText[2];
Yayın oluşturma
Blogger Veri API'si, yeni blog girişleri oluşturmanıza ve yayınlamanıza, ayrıca giriş taslakları oluşturmanıza olanak tanır.
Not: Yayınlar için özel bir yazar ayarlama özelliği şu anda desteklenmiyor. Tüm yeni gönderiler, kimliği doğrulanmış kullanıcı tarafından oluşturulmuş gibi görünür.
Blog yayını yayınlama
Yeni blog girişleri yayınlamak için PHP istemci kitaplığını kullanabilirsiniz.
Öncelikle, blog yayınını temsil edecek bir giriş örneği oluşturun. Ardından, blog yayınının başlığını, içeriğini ve diğer özelliklerini ayarlayabilirsiniz. Son olarak, yayını eklemek için insertEntry
yöntemini çağırın. Yeni Zend_Gdata_Entry
, Zend_Gdata_App_Extension_Title
ve Zend_Gdata_App_Extension_Content
nesneleriyle birlikte sihirli fabrika örneklendirmelerini burada görebilirsiniz.
function createPublishedPost($title='Hello, world!', $content='I am blogging on the internet.') { $uri = 'http://www.blogger.com/feeds/' . $blogID . '/posts/default'; $entry = $gdClient->newEntry(); $entry->title = $gdClient->newTitle($title); $entry->content = $gdClient->newContent($content); $entry->content->setType('text'); $createdPost = $gdClient->insertEntry($entry, $uri); $idText = split('-', $createdPost->id->text); $newPostID = $idText[2]; return $newPostID; }
Blog yayını taslağı oluşturma
Taslak yayınlar, herkese açık yayınlarla aynı şekilde oluşturulur ancak giriş nesnesinin taslak özelliğini ayarlamanız gerekir. Vurgulanan satırları ekleyerek yukarıdaki gibi bir blog yayınını taslak olarak oluşturabilirsiniz:
function createDraftPost($title='Salutations, world!', $content='Hmm ... not quite right, must rework the title later.') { $uri = 'http://www.blogger.com/feeds/' . $blogID . '/posts/default'; $entry = $gdClient->newEntry(); $entry->title = $gdClient->newTitle(trim($title)); $entry->content = $gdClient->newContent($content); $entry->content->setType('text'); $control = $gdClient->newControl(); $draft = $gdClient->newDraft('yes'); $control->setDraft($draft); $entry->control = $control; $createdPost = $gdClient->insertEntry($entry, $uri); $idText = split('-', $createdPost->id->text); return $idText[2]; }
Bir yayının başlığını veya içeriğini ayarlamayla hemen hemen aynı şekilde, yeni Zend_Gdata_App_Extension_Control
ve Zend_Gdata_App_Extension_Draft
nesneleri oluşturup bunları girişin kontrol özelliğine atarsınız.
Taslak blog yayınını alıp taslak özelliğini no
olarak ayarlayarak ve ardından yayını güncelleyerek mevcut bir taslak blog yayınını yayınlanmış bir yayına dönüştürebilirsiniz. Yayınları alma ve güncelleme konusunu sonraki iki bölümde ele alacağız.
Yayınları alma
Aşağıdaki bölümlerde, sorgu parametreleri ile ve sorgu parametreleri olmadan blog yayınlarının listesinin nasıl alınacağı açıklanmaktadır.
Blogger'daki herkese açık bir feed'i kimlik doğrulaması yapmadan sorgulayabilirsiniz. Bu nedenle, herkese açık bir blogdan yayın almadan önce kimlik bilgilerini ayarlamanız veya AuthSub kimlik doğrulaması yapmanız gerekmez.
Tüm blog yayınlarını alma
Kullanıcının yayınlarını almak için, blog meta feed'ini almak için kullanılan getFeed
yöntemini çağırın ancak bu kez blog yayını feed'i URL'sini gönderin:
function printAllPosts($gdClient, $blogID) { $query = new Zend_Gdata_Query('http://www.blogger.com/feeds/' . $blogID . '/posts/default'); $feed = $gdClient->getFeed($query); printFeed($feed); }
Sorgu parametrelerini kullanarak gönderileri alma
Blogger Data API, belirli ölçütlere uyan bir giriş grubu istemenize olanak tanır (ör. belirli bir tarih aralığında yayınlanan veya güncellenen blog yayınlarını isteme). Bunu yapmak için bir sorgu nesnesi oluşturup getFeed
yöntemine iletirsiniz.
Örneğin, tarih aralığı sorgusu göndermek için sorgu nesnesinin published-min
ve published-max
parametrelerini ayarlayın. Aşağıdaki kod snippet'i, belirtilen başlangıç zamanı ile bitiş zamanı arasında yayınlanan her blog yayınının başlığını ve içeriğini yazdırır:
function printPostsInDateRange($gdClient, $blogID, $startDate='2007-04-01', $endDate='2007-04-25') { $query = new Zend_Gdata_Query('http://www.blogger.com/feeds/' . $blogID . '/posts/default'); $query->setParam('published-min', $startDate); $query->setParam('published-max', $endDate); $feed = $gdClient->getFeed($query); printFeed($feed); }
Zend_Gdata_Query
sınıfı için yararlı bir hata ayıklama yöntemi getQueryUrl()
'dur. Bu yöntem, oluşturulan kodlanmış URL'yi gösterir.
Not: Şu anda published-min
ve published-max
sorgu parametreleri için sihirli ayarlayıcı yoktur.
Ancak setStartIndex
ve setMaxResults
kullanabilirsiniz.
Blogger Veri API'si aşağıdaki sorgu parametrelerini destekler:
- kategoriler
- Feed sonuçlarını filtrelemek için kategorileri (etiket olarak da bilinir) belirtir. Örneğin,
http://www.blogger.com/feeds/blogID/posts/default/-/Fritz/Laurie
hemFritz
hem deLaurie
etiketlerini içeren girişleri döndürür. - max-results
- Döndürülecek maksimum giriş sayısı.
- published-min, published-max
- Giriş yayınlanma tarihlerinin sınırları.
- start-index
- Alınacak ilk sonucun 1 tabanlı dizini (sayfalama için).
Sorgu parametreleri hakkında daha fazla bilgi için Blogger Veri API'si Referans Kılavuzu ve Google Veri API'leri Referans Kılavuzu'na bakın.
Yayınları güncelleme
Mevcut bir blog yayınını güncellemek için önce güncellemek istediğiniz girişi alır, ardından girişi değiştirir ve save
yöntemini kullanarak Blogger'a gönderirsiniz. Aşağıdaki kod snippet'i, girişi sunucudan aldığınız varsayılarak bir blog girişinin başlığını ve içeriğini değiştirir.
public function updatePost($postID, $updatedTitle='Hello, World?', $updatedContent='UPDATE: Still blogging', $isDraft=False) { $query = new Zend_Gdata_Query('http://www.blogger.com/feeds/' . $blogID . '/posts/default/' . $postID); $postToUpdate = $dClient->getEntry($query); $postToUpdate->title->text = $this->gdClient->newTitle($updatedTitle); $postToUpdate->content->text = $this->gdClient->newContent($updatedContent); if ($isDraft) { $draft = $gdClient->newDraft('yes'); } else { $draft = $gdClient->newDraft('no'); } $control = $gdClient->newControl(); $control->setDraft($draft); $postToUpdate->control = $control; $updatedPost = $postToUpdate->save(); return $updatedPost; }
Not: Yayınlarla ilişkili yazar verilerinin değiştirilmesi şu anda desteklenmemektedir.
Yayınları silme
Bir yayını silmek için yayının düzenleme URL'sini $gdClient
nesnenizdeki delete
yöntemine iletin. Örneğin:
public function deletePost($gdClient, $blogID, $postID) { $uri = 'http://www.blogger.com/feeds/' . $blogID . '/posts/default/' . $postID; $gdClient->delete($uri); }
Yorumlar
Blogger Data API, yorum oluşturmanıza, almanıza ve silmenize olanak tanır. Yorumların güncellenmesi desteklenmez (ve web arayüzünde kullanılamaz).
Yorum oluşturma
Yorum yayınlamak için bir giriş nesnesi oluşturun ve aşağıdaki gibi ekleyin:
function createComment($gdClient, $blogID, $postID, $commentText) { $uri = 'http://www.blogger.com/feeds/' . $blogID . '/' . $postID . '/comments/default'; $newComment = $gdClient->newEntry(); $newComment->content = $gdClient->newContent($commentText); $newComment->content->setType('text'); $createdComment = $gdClient->insertEntry($newComment, $uri); $editLink = split('/', $createdComment->getEditLink()->href); $newCommentID = $editLink[8]; return $newCommentID; }
Not: Şu anda yalnızca kimliği doğrulanmış kullanıcının sahip olduğu bir bloga yorum gönderebilirsiniz.
Not: Yorumlar için özel bir yazar ayarlama özelliği şu anda desteklenmiyor. Tüm yeni yorumlar, kimliği doğrulanmış kullanıcı tarafından oluşturulmuş gibi görünür.
Yorumları alma
Belirli bir gönderiye ait yorumları, gönderinin yorum feed'i URL'sinden alabilirsiniz:
public function printPostComments($gdClient, $blogID, $postID) { $query = new Zend_Gdata_Query('http://www.blogger.com/feeds/' . $blogID . '/' . $postID . '/comments/default'); $feed = $gdClient->getFeed($query); $printFeed($feed); }
Dilerseniz blogun yorum feed'i URL'sini kullanarak tüm yayınlardaki yorumları da alabilirsiniz:
http://www.blogger.com/feeds/blogID/comments/default
Yorumları silme
Bir yorumu silmek için yorumun düzenleme URL'sini $gdClient
nesnenizin delete
yöntemine şu şekilde iletin:
public function deleteComment($gdClient, $blogID, $postID, $commentID) { $uri = 'http://www.blogger.com/feeds/' . $blogID . '/' . $postID . '/comments/default/' . $commentID; $gdClient->delete($uri); }