ZF-12504: delete tag in picasa photo error

Description

When use the function for delete tag in picasa photo


deleteTag($client, $user, $album, $photo, $tagContent);

this happens:


Fatal error:
Uncaught exception 'Zend_Gdata_App_InvalidArgumentException' with message 'You must specify an URI to which to post.' in Zend/Gdata/App.php:623

Stack trace:

#0 Zend/Gdata.php(219): Zend_Gdata_App->performHttpRequest('DELETE', NULL, Array, '', NULL, NULL)
#1 Zend/Gdata/App.php(957): Zend_Gdata->performHttpRequest('DELETE', NULL, Array, '', NULL, NULL)
#2 Zend/Gdata/Photos.php(572): Zend_Gdata_App->delete(NULL)
#3 public_html/autenticate_zend.php(130): Zend_Gdata_Photos->deleteTagEntry(NULL, false)
#4 public_html/autenticate_zend.php(83): deleteTag(Object(Zend_Gdata_HttpClient), 'google account', 'password', '576764976912403...', 'hola mundo')
#5 {main} thrown in Zend/Gdata/App.php on line 623

Comments

{quote}


This is not a ZF method!

{quote}

This is the problem: You need the first parameter for {{Zend_Gdata_Photos::deleteTagEntry()}}.

{quote}


Here is an unit test for this method call:

public function testPreparingRequestWithoutData() { $this->assertEquals( array( 'method' => 'POST', 'url' => null, 'data' => null, 'headers' => array( 'x-http-method-override' => 'DELETE', ), 'contentType' => 'application/atom+xml', ), $this->service->prepareRequest('DELETE', null, array(), '', null, null) ); } ``` Tests passed

in the directory Zend/demos/Zend/Gdata/Photos.php

we have the following two functions

function addTag($client, $user, $album, $photo, $tag) { $photos = new Zend_Gdata_Photos($client);

$entry = new Zend_Gdata_Photos_TagEntry();
$entry->setTitle($photos->newTitle($tag));

$photoQuery = new Zend_Gdata_Photos_PhotoQuery;
$photoQuery->setUser($user);
$photoQuery->setAlbumId($album);
$photoQuery->setPhotoId($photo);
$photoQuery->setType('entry');

$photoEntry = $photos->getPhotoEntry($photoQuery);

$result = $photos->insertTagEntry($entry, $photoEntry);
if ($result) {
    outputPhotoFeed($client, $user, $album, $photo);
} else {
    echo "There was an issue with the tag creation.";
}

}

function deleteTag($client, $user, $albumId, $photoId, $tagContent) { $photos = new Zend_Gdata_Photos($client);

$photoQuery = new Zend_Gdata_Photos_PhotoQuery;
$photoQuery->setUser($user);
$photoQuery->setAlbumId($albumId);
$photoQuery->setPhotoId($photoId);
$photoQuery->setKind("tag");
$query = $photoQuery->getQueryUrl();    

$photoFeed = $photos->getPhotoFeed($query);

foreach ($photoFeed as $entry) {
    if ($entry instanceof Zend_Gdata_Photos_TagEntry) {
        if ($entry->getContent() == $tagContent) {
            $tagEntry = $entry;
        }
    }
}

$photos->deleteTagEntry($tagEntry, false);

outputPhotoFeed($client, $user, $albumId, $photoId);

}

I probe the first function successfully. The second function fail.

This issue has been closed on Jira and moved to GitHub for issue tracking. To continue following the resolution of this issues, please visit: https://github.com/zendframework/zf1/issues/47