Facebook here에 설명 된대로 백엔드에서 수명이 긴 액세스 토큰에 대한 수명이 짧은 액세스 토큰을 교환 할 방법을 찾고 있습니다. facebook4j로이 작업을 수행하는 방법은 무엇입니까?액세스 토큰 교환을위한 Facebook4J 지원
3
A
답변
1
나는 새로운 토큰 된 토큰을 교환하기 위해이 같은 짓을 : 여전히 유효한 경우에도 액세스 토큰을 새로 고칠 수 있도록 내가이 각 로그인 한 후 수행 할 수 있다고 생각
private AccessToken refreshToken(Facebook facebook, AccessToken currentToken) throws Exception {
String clientId = configuration.getString(ConfigurationKeys.SOCIAL_FACEBOOK_CLIENTID);
String clientSecret = configuration.getString(ConfigurationKeys.SOCIAL_FACEBOOK_CLIENTSECRET);
Map<String, String> params = new HashMap<String, String>();
params.put("client_id", clientId);
params.put("client_secret", clientSecret);
params.put("grant_type", "fb_exchange_token");
params.put("fb_exchange_token", currentToken.getToken());
RawAPIResponse apiResponse = facebook.callGetAPI("/oauth/access_token", params);
String response = apiResponse.asString();
AccessToken newAccessToken = new AccessToken(response);
facebook.setOAuthAccessToken(newAccessToken);
return newAccessToken;
}
- 당신은 그냥 얻을 것이다 유효 기간이 60 일인 새로운 토큰.
당신은 어떻게 생각하십니까?
0
나는 Facebook 클래스를 확장 중입니다. 그들이 제공 한 방법은 효과가 없습니다. 그래서 나는 오래 살았던 토큰을 제공하는 다른 함수를 작성했지만, 어떻게 든 무효화되었습니다 (나는 token_debug로 새로운 토큰을 테스트 해보고 client_code를 생성하려고했습니다)! 내가 해결해야만 당신을 알릴 것입니다. 해결할 수 있으면 저를 업데이트하십시오.
아직 코드를 작성하고 있으므로 코드를 정리하지 않았 음을 기억하십시오.
public function GetExtendedAccessToken()
{
//global $CONFIGURATIONS;
//$info=$this->api($path,'GET',$args);//doesn't work as api overrides method to post
$string=file_get_contents("https://graph.facebook.com/oauth/access_token?client_id=".$this->getAppId()
."&client_secret=".$this->getAppSecret()
."&fb_exchange_token=".$this->getAccessToken()
."&grant_type=fb_exchange_token"
."&redirect_uri=".$redirectUri);
var_dump($string);
$tokenInfo=explode('&',$string);
$exAccessToken=str_replace('access_token=', '', $tokenInfo[0]);
$expiresAt=str_replace('expires=', '', $tokenInfo[1]);
echo "expires in ". (time()-$expiresAt);
var_dump($exAccessToken);
return $exAccessToken;
}
이제 작동합니다. 어떤 때는 redirect_uri를 제공하지 않았기 때문에 오류가 발생합니다.
관련 문제
- 1. Facebook 사용자 액세스 토큰
- 2. API 관리자의 맞춤 액세스 토큰 유형 지원
- 3. Facebook 액세스 토큰 무효화?
- 4. facebook4j OAuth 문제
- 5. 데이터 교환을위한 디자인 패턴
- 6. 핀 교환을위한 인터럽트 설정
- 7. 열 교환을위한 mysql 명령
- 8. 도서 교환을위한 시퀀스 다이어그램
- 9. Passport-auth0 액세스 액세스 토큰
- 10. 나는이 구성 설정과 facebook4j 사용하고 전화
- 11. Facebook4j 라이브러리 게시물 사진 문제
- 12. 페이스 북 사용자 액세스 토큰 대 응용 프로그램 액세스 토큰 대 페이지 액세스 토큰
- 13. 각 연결마다 액세스 토큰 및 액세스 토큰 키가 변경됩니다.
- 14. 액세스 토큰 대신 사용자 토큰 반환
- 15. Facebook Javascript SDK - Chrome 토큰 액세스 토큰
- 16. Facebook 액세스 토큰 문제
- 17. 잘못된 Facebook 액세스 토큰
- 18. Twitter4J 액세스 토큰 설명?
- 19. Facebook 액세스 토큰
- 20. 오류 검증 액세스 토큰
- 21. OAuth 액세스 토큰 재사용
- 22. Google 계정 액세스 토큰
- 23. 액세스 토큰 무한 갱신
- 24. Instagram : 액세스 토큰 유효성
- 25. hybridauth에서 액세스 토큰 복원
- 26. 헤더의 OAuth2.0 액세스 토큰
- 27. 액세스 토큰 만료
- 28. facebook 액세스 토큰 오류
- 29. iOS의 Facebook 액세스 토큰
- 30. 액세스 토큰 사용
facebook의 라이브러리에 사전 프로그래밍 된 솔루션이 있어야한다고 생각했지만 perfec가 표시됩니다. – Pepster
이 오류가 발생합니다. 스레드 "main"의 예외 java.lang.IllegalStateException : 인증 자격 증명이 누락되었습니다. \t facebook4j.FacebookBaseImpl.ensureAuthorizationEnabled (FacebookBaseImpl.java:154) – DT7
"인증 자격 증명이 없습니다."@ DT7 : 새로운 tocken을 얻는 방법을 찾았습니까 ??? –