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

Reply via email to