내가 다음에 다음과 같은 두 가지 방법 :파이썬 : 페이스 북 API 보여주는 유효하지 않은 토큰
1 접근 :
내가 사용하는 내가 Graph Explorer
페이스 북에서받은 access token
페이지와 아래의 코드를 사용합니다
from facepy import GraphAPI
graph = GraphAPI(token)
print graph.get('/me')
#Rest of the code
은 위의 코드는 잘 작동하고 나는를 사용하여 내 모든 메시지를 검색 할 수 있었다. 문제는 내 auth_token expired
언젠가 후에 발생했습니다.
그래서, 일부 인터넷 검색 후 나는 에 접근이 이동 : 이제
를, 내가가 페이스 북의 응용 프로그램을 생성 한 일은 그것을 read_mailbox
권한을 준하고 id and key
의 도착 후 토큰을 얻을 수 facepy의 get_application_access_token 방법을 사용 .
token = facepy.utils.get_application_access_token(app_id, key)
graph.get('/me')
## OUT: OAuthError: [2500] An active access token must be used to query information about the current user.
facepy.utils.get_extended_access_token(token, app_id, key)
# OUT: OAuthError: [1] No user access token specified
이제 응용 프로그램 토큰을 사용하여 생성 된 오류 (commented #
)를 볼 수 있습니다.
나는 페이스 북이 user_token
을 필요로하고 내가 app_token
을 공급하고 있기 때문에 내가 얻고있는 오류가 있다고 생각한다.
그래서 app_token을 사용하여 사용자 데이터에 액세스 할 수 있으며 사용자 데이터에 액세스 할 수있는 extended token
을 어떻게 발행 할 수 있습니까?
는 업데이트 : 그래서
, 나는 @Johannes 제안을 따라이 시도했지만 오류로 실행 : 이제
from facepy.utils import get_extended_access_token
from facepy import GraphAPI
token = "My user access token got from https://developers.facebook.com/tools/explorer"
long_lived_access_token = get_extended_access_token(token)
graph = GraphAPI(long_lived_access_token)
graph.get('/me')
, 나는
TypeError: get_extended_access_token() takes exactly 3 arguments (1 given)
를 가지고 위의 코드를 실행했을 때
그래서 long_lived_access_token = get_extended_access_token(token, None, None)
으로 변경하고
facepy.exceptions.OAuthError
그래서 나는 다시 long_lived_access_token = get_extended_access_token(token, app_id, key)
으로 바꿨고 위와 같은 예외/오류가 발생했습니다.
그래서 버그입니까, 아니면 잘못하고 있습니다.
추신 : 전 git에서 최신 버전을 설치했습니다.
감사 :
그래서 최종 코드는 같을 것이다. 제 '업데이트 된'질문을보십시오. – RanRag
API에서'get_extended_access_token'은 튜플을 반환하므로 정확한 토큰 전달 방법은'graph = GraphAPI (long_lived_access_token [0])'이됩니다. – RanRag
@RanRag : 네 말이 맞아. 그에 따라 내 대답을 업데이트했습니다. 감사! –