저는 API를 처음 접했고 첫 번째 API 프로젝트를 시작하고 있습니다. 저는 Petfinder API v2를 사용하여 입양 가능한 동물을 검색하는 웹 사이트를 만들고 있습니다. 그러나 그들의 API는 OAuth를 사용하고 키와 비밀을 제공합니다. 그런 다음이를 사용하여 CURL과 같은 것을 사용하여 토큰을 얻습니다. 그러나이 토큰은 60 분 후에 만료됩니다. 그 후에 새 토큰을 요청해야합니다. 누구든지 토큰 만료를 늘리는 방법을 알고 있습니까? 아니면 무제한 시간을 가질 수있는 방법이 있습니까? 아니면 자동으로 새 토큰을받는 코드가 있습니까? 나는 이것을 프로그래밍하기 위해 바닐라 JavaScript를 사용하고 있습니다.
이것은 그들의 문서입니다 : https://www.petfinder.com/developers/v2/docs/
액세스 토큰 만료 시간을 연장하기 위해 할 수있는 작업은 없습니다. 이것은 Petfinders의 이익을위한 보안 조치이므로 주변에 오래된 토큰이 많지 않습니다.
토큰이 만료 된 경우 새 토큰을 가져 오도록 코드를 업데이트 할 수 있습니다. 바닐라 자바 스크립트의 원래 영감이 여기에 있습니다 .
// Get OAuth token
const getOAuth = function() {
return fetch('https://api.petfinder.com/v2/oauth2/token', {
method: 'POST',
body: 'grant_type=client_credentials&client_id=' + key + '&client_secret=' + secret,
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
}).then(function(resp) {
return resp.json();
}).then(function(data) {
// Store token data
token = data.access_token;
tokenType = data.token_type;
expires = new Date().getTime() + (data.expires_in * 1000);
});
};
// Make call if token expired
const makeCall = () => {
// If current token is invalid, get a new one
if (!expires || expires - new Date().getTime() < 1) {
getOAuth().then(function() {
// use access token
});
}
};
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다