1

我在我的网站中用 php 整合了linkedin。当用户单击“与linkedin 连接”按钮时。用户被重定向到linkedin 登录页面。当用户登录时,它被重定向到我定义的页面。问题是如何在用户登录后检索用户的基本个人资料和电子邮件地址。我参考了此链接以获取帮助 http://developer.linkedin.com/documents/authentication

这是我重定向到linkedin授权页面的代码:

header('位置:'。' https://www.linkedin.com/uas/oauth2/authorization?response_type=code&&client_id=1ba8ogpm9e05&scope=r_basicprofile%20r_emailaddress&state=STATE&redirect_uri=http://127.0.0.1/linkedin/test.php ' );

在这个 url 中,redirect_uri 是授权后重定向用户的页面。那么如何检索用户基本资料和电子邮件地址呢?

4

1 回答 1

1

我在 ZF2 中实现了linkedin api。

请设置回调 url,如linkedIn api 的访问权限和密钥。

$content = $linkedInObject->getProfile("~:(id,first-name,last-name,headline,picture-url)");
$profile = $this->objectToArray($content); 


/*

public $base_url = "http://api.linkedin.com";
public $secure_base_url = "https://api.linkedin.com";
public $oauth_callback = "oob";

*/
function getProfile($resource = "~")
    {
            $profile_url = $this->base_url . "/v1/people/" . $resource;
            $request = OAuthRequest::from_consumer_and_token($this->consumer, $this->access_token, "GET", $profile_url);
            $request->sign_request($this->signature_method, $this->consumer, $this->access_token);
            $auth_header = $request->to_header("https://api.linkedin.com"); # this is the realm

            $response = $this->httpRequest($profile_url, $auth_header, "GET");
            return $response;
    }

// 为 ZF2 修改,但在你的情况下 http://api.linkedin.com/v1/people/~:(id,first-name,last-name,headline,picture-url)

现在你可以得到 $profile['first-name'] 的名字。

谢谢

于 2013-03-22T10:39:18.787 回答