2014-08-30 102 views
-1

请有人可以告诉我我在做什么错我在这里我不能得到一个nsid或 用户 名称与此代码。 我尝试了很多东西,其他示例代码等,但他们都不工作是这样的 难以获得登录用户名或nsid,此代码工作之前,我已经开始 超过10倍与此,它的工作,然后它没有,所以我开始over.please帮助 我....无法获得有关登录用户的信息

<?php 
$api_key = "xxxxxxx"; 
$secret = "xxxxxxxx"; 
$perms = "write"; 
$token = "xxxxxxxx"; 
require 'phpflickr/phpflickr.php'; 
// create login URL 
$loginUrl = $instagram->getLoginUrl(); 
// receive OAuth code parameter 
$code = $_GET['code']; 

function login_link($api_key, $secret, $perms) 
{ 
     $sig_string = "{$secret}api_key{$api_key}perms{$perms}"; 
     $api_sig = md5($sig_string); 
     $url = "http://flickr.com/services/auth?api_key={$api_key}&perms= 
        {$perms}&api_sig={$api_sig}"; 
     return $url; 
} 

$url = login_link($api_key, $secret, $perms); 

/* FLICKR LOGIN LINK */ 
echo '<div id="flckrlogin"><a href="' . $_SERVER['PHP_SELF'] . '" 
      src="' . $url . '">Login to Flickr</a></div>'; 
/* FLICKR LOGIN */ 




if(isset($_GET['frob'])){   
    $frob = $_GET['frob']; 
    $_SESSION['frob'] = $_GET['frob']; 
} 
if(isset($_SESSION['frob'])) {  

} 
    function getResource($url) 
    { 
    $chandle = curl_init(); 
    curl_setopt($chandle, CURLOPT_URL, $url); 
    curl_setopt($chandle, CURLOPT_RETURNTRANSFER, 1); 
    $result = curl_exec($chandle); 
    curl_close($chandle); 
    return $result; 
} 

function logUit() 
{ 
    $api_key = ""; 
    $secret = ""; 
} 

function getToken($api_key, $secret, $frob) 
{ 
    $method = "flickr.auth.getToken"; 
    $sig_string = " 
        {$secret}api_key{$api_key}frob{$frob}method{$method}"; 
    $api_sig = 
     md5($sig_string); 
    $token_url = 
     "http://api.flickr.com/services/rest/? 
         method=flickr.auth.getToken&api_key={$api_key}&frob= 
         {$frob}&api_sig={$api_sig}"; 
    $feed = getResource($token_url); 
    $rsp 
     = simplexml_load_string($feed); 
    return $rsp; 
} 

$token_rsp = getToken($api_key, $secret, $frob); 
if ($token_rsp !== "") { 
    $nsid = $token_rsp->auth->user["nsid"]; 

    $photos = $f->people_getPublicPhotos($nsid, NULL, NULL, 12); 
    $username = $token_rsp->auth->user["username"]; 
    $auth_token = $token_rsp->auth->token; 
    $perms = $token_rsp->auth->perms; 
    echo "<div id='flckrlogin'><a href='?frob=' onclick='" . logUit() . "'>loguit.. 
       .</a></div>"; 
    # display some user info 
    echo $token_rsp->auth->user["fullname"], " loggedIn(Flickr)<br>"; 
} 
function uploadPhoto($path, $title) 
{ 
    $api_key = "xxxxxxxx"; 
    $secret = "xxxxxx"; 
    $perms = "write"; 
    $token = "xxxxxxxxx"; 
    $f = new phpFlickr("xxxxxxxxxx", $secret); 
    return $f->async_upload($path, $title); 
} 

echo '<div id="flckrlogin"><a href="' . $url . '">Login to Flickr</a></div>'; 

?> 
+0

为什么在if语句有一个函数。为什么各地的缩进 – 2014-08-30 10:00:16

+0

好吧,我把它放在if语句仍然不起作用,你是什么意思缩进。 – robert 2014-08-30 10:03:05

+0

@robert,你看到任何错误信息吗?如果是的话,你可以在你的问题的文本中添加它吗?如果不是,您是否尝试打印中间信息? (例如'getToken()'中的字符串)在问题中添加更多细节! – Ilya 2014-08-30 10:22:15

回答

0

尝试检查FROB参数是否是空的,而不是isset()

if(!empty($_GET['frob'])){   
$frob = $_GET['frob']; 
$_SESSION['frob'] = $_GET['frob']; 
} 
if(!empty($_SESSION['frob'])) {  

} 
+0

我认为frob不是空的,当它在登录后回来时我在url中看到它,之后我无法获得屏幕上的任何信息,我在每个函数中尝试了几个var_dumps,但它一直在说布尔(假),但我会尝试它。 – robert 2014-08-30 10:34:42

+0

好吧,你的代码做到了,它说frob是空的,但我得到它在我的回报网址,所以这里出了什么问题。 – robert 2014-08-30 10:39:02

+0

你能否在这里粘贴URL参数,就像你看到的那样 – 2014-08-30 10:44:44