LinkedIn API访问令牌(OAuth Token)是用于授权第三方应用访问LinkedIn用户数据的凭证。它通过OAuth 2.0协议生成,通常有访问令牌(Access Token)和刷新令牌(Refresh Token)两种类型。
// Node.js示例 - 使用OAuth 2.0获取新令牌
const axios = require('axios');
const clientId = 'YOUR_CLIENT_ID';
const clientSecret = 'YOUR_CLIENT_SECRET';
const redirectUri = 'YOUR_REDIRECT_URI';
const authCode = 'AUTHORIZATION_CODE_FROM_USER';
async function getNewAccessToken() {
try {
const response = await axios.post('https://www.linkedin.com/oauth/v2/accessToken', null, {
params: {
grant_type: 'authorization_code',
code: authCode,
redirect_uri: redirectUri,
client_id: clientId,
client_secret: clientSecret
}
});
return response.data.access_token;
} catch (error) {
console.error('Error getting new access token:', error.response.data);
throw error;
}
}
# Python示例 - 使用刷新令牌
import requests
def refresh_access_token(refresh_token):
url = "https://www.linkedin.com/oauth/v2/accessToken"
params = {
"grant_type": "refresh_token",
"refresh_token": refresh_token,
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET"
}
response = requests.post(url, params=params)
if response.status_code == 200:
return response.json()["access_token"]
else:
raise Exception(f"Token refresh failed: {response.text}")
// 检查令牌是否有效
async function verifyToken(accessToken) {
try {
const response = await axios.get('https://api.linkedin.com/v2/me', {
headers: {
'Authorization': `Bearer ${accessToken}`,
'Connection': 'Keep-Alive'
}
});
return response.status === 200;
} catch (error) {
if (error.response && error.response.status === 401) {
return false; // 令牌无效
}
throw error;
}
}
LinkedIn API常用于:
遇到令牌无效问题时,按照上述方法排查和解决,可以确保应用与LinkedIn API的稳定连接。
没有搜到相关的文章