2017-08-20 6 views
0

urllib、urllib2、またはPython 2.7のリクエストを使用すると、起動URLをコピーしてMac用のFireFoxまたはChromeにコピーしたときと同じURLでどちらも終了しません。私のブラウザはこのURLで私をリダイレクトしますが、Pythonは私をリダイレクトしません。なぜですか?

EDIT:リダイレクトするには、vk.comにサインインする必要があるためです。この場合、スクリプトにログインを追加するにはどうすればよいですか?ありがとう!

開始URL:https://oauth.vk.com/authorize?client_id=PRIVATE&redirect_uri=https://oauth.vk.com/blank.html&scope=friends&response_type=token&v=5.68

実際の最終(リダイレクト)URL:https://oauth.vk.com/blank.html#access_token=PRIVATE_TOKEN&expires_in=86400&user_id=PRIVATE

PRIVATE、PRIVATE_TOKEN =打ち切り情報

以下、このにおけるいくつかの試みの一つである:

import requests 

APPID = 'PRIVATE' 
DISPLAY_OPTION = 'popup' # or 'window' or 'mobile' or 'popup' 
REDIRECT_URL = 'https://oauth.vk.com/blank.html' 
SCOPE = 'friends' # https://vk.com/dev/permissions 
RESPONSE_TYPE = 'token' # Documentation is vague on this. I don't know what 
     # other options there are, but given the context, i.e. that we want an 
     # "access token", I suppose this is the correct input 

URL = 'https://oauth.vk.com/authorize?client_id=' + APPID + \ 
     '&display='+ DISPLAY_OPTION + \ 
     '&redirect_uri=' + REDIRECT_URL + \ 
     '&scope=' + SCOPE + \ 
     '&response_type=' + RESPONSE_TYPE + \ 
     '&v=5.68' 

# with requests 

REQUEST = requests.get(URL) 

RESPONSE_URL = REQUEST.url 

私のコードで何が間違っているのか気づいたら嬉しいです。

追加情報:さらなるプログラミングにはPRIVATE_TOKEN値が必要であるため、リダイレクトが必要です。

私はいくつかのデバッグを試みましたが、インタプリタもIPythonもデバッグ情報を出力しませんでした。

ありがとうございます!

+0

https://oauth.vk.com /プライベートトークンを提供していない場合は、client_id = PRIVATE&redirect_uri = https:// oauth.vk.com/blank.html&scope = friends&response_type = token&v = 5.68'クライアントIDが必要です – mehulmpt

+0

@ mehulmpt 3882511を試してみてください。公開アプリのIDです。 –

答えて

0

問題は、Python環境でサインインされていないためです。

ソリューション:。

使用ツイルはPythonでブラウザを作成し、ログインする

コード:私たちは `からサーバの応答を見ることができない

from twill.commands import * 

BROWSER = get_browser() 

BROWSER.go(URL) # URL is the URL concatenated in the question 

RESPONSE_URL = BROWSER.get_url() 
関連する問題