Hello, Have you tried requesting this feed instead: https://www.google.com/m8/feeds/contacts/default/full
Please make sure to request SSL (https) over non-SSL (http) feed whenever possible. Best, Alain On Wed, Jun 29, 2011 at 6:50 AM, maykino <[email protected]> wrote: > I'm trying to write a code to manage my shared contacts so I followed all > available tutorials to come up with the following error: > > ERROR:Expected response code 200, got 401 > Authorization required > Error 401 > > However, when I change to last few lines to work with Google Docs it works > perfectly. It looks like I'm doing something wrong with my code for Contacts > API. Take a look: > > *test.php > * > <? > session_start(); > ini_set("display_errors", 1); > require_once 'Zend/Loader.php'; > require_once 'Zend/Oauth/Consumer.php'; > $CONSUMER_KEY = 'www.stingerit.com'; > $CONSUMER_SECRET = 'WHymWg9mjRlRNsA4Uhxxxxxx'; > $BASE_URL = 'http://www.stingerit.com/helloworld'; > $STORE_PATH = "/tmp/_php_consumer_test"; > Zend_Loader::loadClass('Zend_Gdata'); > Zend_Loader::loadClass('Zend_Gdata_Gapps'); > Zend_Loader::loadClass('Zend_Gdata_Query'); > $SCOPES = array( > 'https://www.google.com/m8/feeds', > 'https://docs.google.com/feeds/', > 'https://spreadsheets.google.com/feeds/' > ); > > $options = array( > 'requestScheme' => Zend_Oauth::REQUEST_SCHEME_HEADER, > 'version' => '1.0', > 'signatureMethod' => 'HMAC-SHA1', > 'consumerKey' => $CONSUMER_KEY, > 'consumerSecret' => $CONSUMER_SECRET, > 'callbackUrl' => 'http://www.stingerit.com/helloworld/test1.php', > 'requestTokenUrl' => ' > https://www.google.com/accounts/OAuthGetRequestToken', > 'userAuthorizationUrl' => ' > https://www.google.com/accounts/OAuthAuthorizeToken', > 'accessTokenUrl' => ' > https://www.google.com/accounts/OAuthGetAccessToken' > > ); > $consumer = new Zend_Oauth_Consumer($options); > if (!isset($_SESSION['ACCESS_TOKEN'])) { > $_SESSION['REQUEST_TOKEN'] = > serialize($consumer->getRequestToken(array('scope' => implode(' ', > $SCOPES)))); > } > ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// > > $approvalUrl = $consumer->getRedirectUrl(array('hd' => 'default')); > echo "<a href=\"$approvalUrl\">Grant access"; > ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// > > > > ?> > > > *test1.php* > > <? > require_once 'Zend/Oauth/Consumer.php'; > require_once 'Zend/Loader.php'; > Zend_Loader::loadClass('Zend_Gdata'); > Zend_Loader::loadClass('Zend_Gdata_ClientLogin'); > Zend_Loader::loadClass('Zend_Http_Client'); > Zend_Loader::loadClass('Zend_Gdata_Query'); > Zend_Loader::loadClass('Zend_Gdata_Feed'); > session_start(); > global $_SESSION; > $CONSUMER_KEY = 'www.stingerit.com'; > $CONSUMER_SECRET = 'WHymWg9mjRlRNsA4UhBWo67f'; > // Multi-scoped token. > $SCOPES = array( > 'https://www.google.com/m8/feeds', > 'https://docs.google.com/feeds/', > 'https://spreadsheets.google.com/feeds/' > ); > > $oauthOptions = array( > 'requestScheme' => Zend_Oauth::REQUEST_SCHEME_HEADER, > 'version' => '1.0', > 'consumerKey' => $CONSUMER_KEY, > 'consumerSecret' => $CONSUMER_SECRET, > 'signatureMethod' => 'HMAC-SHA1', > 'callbackUrl' => 'http://www.stingerit.com/helloworld/test1.php', > 'requestTokenUrl' => ' > https://www.google.com/accounts/OAuthGetRequestToken', > 'userAuthorizationUrl' => ' > https://www.google.com/accounts/OAuthAuthorizeToken', > 'accessTokenUrl' => ' > https://www.google.com/accounts/OAuthGetAccessToken' > ); > > $consumer = new Zend_Oauth_Consumer($oauthOptions); > if (!isset($_SESSION['ACCESS_TOKEN'])) {echo "in first if /br"; > if (!empty($_GET) && isset($_SESSION['REQUEST_TOKEN'])) { echo "gotm"; > $_SESSION['ACCESS_TOKEN'] = serialize($consumer->getAccessToken($_GET, > unserialize($_SESSION['REQUEST_TOKEN']))); > } > } > > if (isset($_SESSION['ACCESS_TOKEN'])) { > $accessToken = unserialize($_SESSION['ACCESS_TOKEN']); > }else { > exit; > } > > $httpClient = $accessToken->getHttpClient($oauthOptions); > //$client = new Zend_Gdata_Docs($httpClient, "yourCompany-YourAppName-v1"); > > // Retrieve user's list of Google Docs > //$feed = $client->getDocumentListFeed(); > try { > $gdata = new Zend_Gdata($client); > $gdata->setMajorProtocolVersion(3); > $query = new Zend_Gdata_Query(' > http://www.google.com/m8/feeds/contacts/default/full'); > $feed = $gdata->getFeed($query); > // foreach ($feed->entries as $entry) { > // echo "$entry->title\n"; > // } > } catch (Exception $e) { > die('ERROR:' . $e->getMessage()); > } > ?> > > > You can find this example here: > > http://www.stingerit.com/helloworld/test1.php > > Why do I get this error? > > -- > You received this message because you are subscribed to the Google > Groups "Google Contacts, Shared Contacts and User Profiles APIs" group. > To post to this group, send email to > [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://code.google.com/apis/contacts/community/forum.html > -- Alain Vongsouvanh -- You received this message because you are subscribed to the Google Groups "Google Contacts, Shared Contacts and User Profiles APIs" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://code.google.com/apis/contacts/community/forum.html
