我正在开发捕获“访问令牌”的 PHP 应用程序,当用户单击向 Linkedin 注册时,我使用该访问令牌从用户的 Linkedin 个人资料中获取所有相关信息。
我现在想包括 LinkedIn 发送消息功能http://developer.linkedin.com/documents/sample-code-sending-message。
有什么方法可以使用发送消息功能和身份验证过程使用用户的访问令牌而不显示用户再次使用linkedIn登录以发送消息?
我正在开发捕获“访问令牌”的 PHP 应用程序,当用户单击向 Linkedin 注册时,我使用该访问令牌从用户的 Linkedin 个人资料中获取所有相关信息。
我现在想包括 LinkedIn 发送消息功能http://developer.linkedin.com/documents/sample-code-sending-message。
有什么方法可以使用发送消息功能和身份验证过程使用用户的访问令牌而不显示用户再次使用linkedIn登录以发送消息?
是的,只需将令牌存储在数据库中(它应该可以保存 60 天)并在您的请求中重用它。如果令牌过期,您将不得不重新授权一个新令牌。
我的linkedin类示例来自: https ://github.com/EJTH/SLinkedIn
但它应该与其他类或扩展非常相似。
$ln = new SimpleLinkedIn('APIKEY','APISECRET'); $ln->addScope('rw_nus'); $ln->setTokenData($myUserObj->getLinkedinToken() /* 从数据库中获取令牌 */); 如果($ln->授权()){ /* 做 OAuth 的东西 */ $user = $ln->fetch('GET', '/v1/people/~:(firstName,lastName)'); $tokenData = $ln->getTokenData(); /* 保存新的令牌,如果它被改变 */ $myUserObj->setLinkedinToken($tokenData['access_token']); } 别的 { /* 用户拒绝授权 */ }
请记住,您的令牌必须具有您要执行的操作的范围。
<?php
// base or site url is the site where code linked in button is kept for signup
$baseURL = 'http://localhost/linkedin/';
/* callback or redirect url is the page you want to open
* after successful getting of data i.e. index.php page
* (must be same in linkedin dashboard) */
$callbackURL = 'http://localhost/linkedin/process.php';
// APP ID (will receive from linkedin dashboard)
$linkedinApiKey = 'your api key';
// APP Client
$linkedinApiSecret = 'your api secret';
// This is fixed no need to change
$linkedinScope = 'r_basicprofile r_emailaddress';
?>