0

방금 ​​이상한 것을 발견했습니다. GET은 requests 2.18.4 라이브러리를 사용하여 페이스 북에서 데이터를 다운로드 할 때 난 그냥 사용자 ID 및 액세스를 구문 분석되는GET 요청은 url이 아닌 params에서만 작동합니다.

requests.get('https://.../{}/likes?acces_token={}'.format(userID,token)) 

를 사용할 때, 나는 오류 - API가 토큰을 제대로 읽기 액세스하지 않습니다.

그러나, 그것은

requests.get('https://../{}'.format(userID), params={"access_token":token}) 

으로 잘 작동 또는 내가 파이썬 콘솔에서 수동으로 해당 필드에 값을 붙여 복사 할 때 작동합니다.

내 가설은 토큰 문자열이 params과 문자열을 사용하여 구문 분석되는 방식과 관련이 있다는 것입니다. 그러나 내가 전혀 이해하지 못하는 것은 왜 그런 경우입니까? 또는 ? 인 경우이 경우 이상하게 보입니까?

+0

무슨 에러가 발생합니까? 테스트 할 수있는 몇 가지 예를 만드십시오. –

+0

첫 번째 URL : 'http : //.../x/likes? acces_token = y', 두 번째 url :'http : //.../x? access_token = y' –

답변

1

URL이 모두 동일한 경우 두 번 확인하십시오 (게시물에서 /likes 하위 문자열로 다릅니다).

은 그럼 당신은 확인할 수 있습니다 방법 PARAMS 인수에서 라이브러리 requests 연결된 매개 변수 :



    url = 'https://facebook.com/.../{}'.format(userID) 
    r = requests.Request('GET', url, params={"access_token":token}) 
    pr = r.prepare() 
    print pr.url