Why is the sample code from Yahoo Social SDK for PHP always returns NULL for the session variable?
Asked Answered
C

2

6

I am trying to get the sample code from the Yahoo Social SDK for PHP page to work, With no luck.

This is the code snippet from the site:

<?php  
  require("Yahoo.inc");  

  // Your Consumer Key (API Key) goes here.  
  define('CONSUMER_KEY', "");  

  // Your Consumer Secret goes here.  
  define('CONSUMER_SECRET', "");  

  // Your application ID goes here.  
  define('APPID', "");  

  $session = YahooSession::requireSession(CONSUMER_KEY,CONSUMER_SECRET,APPID);  
?>  

I set the CONSUMER_KEY, CONSUMER_SECRET and APPID. But the $session variable is always NULL.

After digging around the yahoo.inc source code i traced the problem to this function:

function getRequestToken($consumerKey, $consumerSecret, $callback);

specifically this call in the function:

$response = $client->post($request_url, "application/x-www-form-urlencoded", $parameters);
$request_url: https://api.login.yahoo.com/oauth/v2/get_request_token
$parameters: has my callback url

And the $response variable is null !! which i think is the source of the problem. I am using the sample codes as it is. So, I'm not sure why this is happening.

Any ideas ?? What I am missing ?

Coster answered 18/10, 2012 at 8:46 Comment(3)
can you check error_log file ? or enable error_reporting error_reporting(E_ALL | E_NOTICE); ini_set('display_errors', true);Chantress
do session_start() at start of your php file or use this github.com/yahoo/yos-social-php/blob/master/sample/…Chantress
I checked the error logs, and there a mention of curl having a SSL problem. so I added this line to Yahoo.inc: curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); now it's working...thanks :)Coster
B
1

try this:

$yahooUserData = YahooSession::requireSession($yahooConsumerKey, $yahooConsumerSecret, $yahooAppId, $returnUrl);

if (!empty($yahooUserData)) {
  $yahooUserId = $yahooUserData->guid;
  $accessToken = $yahooUserData->accessToken->key;
}
Bronchial answered 1/9, 2013 at 0:10 Comment(0)
E
0

Specify return url and Try this ...

$yahooUserData = YahooSession::requireSession($yahooConsumerKey, $yahooConsumerSecret, $yahooAppId, $returnUrl);

if (!empty($yahooUserData)) {
  $yahooUserId = $yahooUserData->guid;
  $accessToken = $yahooUserData->accessToken->key;
}
Elegy answered 18/1, 2013 at 10:52 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.