我很新到Python/Django的,但我已經建立了一個REST API的一個網站(siteA.com),並希望其他網站(siteB.com)才能調用此API並顯示一些結果。爲此,我將Django REST Framework和Django Auth2 Provider添加到siteA。API調用從一個Django的網站到另一個
curl -X POST -d "client_id=CLIENT_ID&client_secret=CLIENT_SECRET&grant_type=password&username=USERNAME&password=PASSWORD" http://www.siteA.com/oauth2/access_token [1]
這給了我想要的迴應:我現在可以使用curl以獲得訪問令牌調用API
{"access_token": "72x63615xe29f4xfdadexbcd77x27b5fx0bceexx", "scope": "read", "expires_in": 86399, "refresh_token": "5fx80dx320cx3abe7d0x27d5f1x64e7x413x0f70"}
使用訪問令牌我得到我現在可以調用API:
curl -v -H "Authorization: Bearer 72x63615xe29f4xfdadexbcd77x27b5fx0bceexx" "http://www.siteA.com/api/?q=SOMESTRING&per_page=3&page=1&sort=random" [2]
這給了我3個結果的查詢字符串「SOMESTRING」的JSON響應。
這一切工作正常,但現在我想打從內siteB.com這些調用。換句話說,我想創建一個頁面,如果使用特定的查詢查詢調用,首先檢查是否存在[1]中的訪問標記,然後獲取搜索結果[2]並以JSON格式顯示它們。我只是不知道該怎麼做。試圖從requests_oauth2使用OAuth2,但根本不知道將curl語句翻譯成Python的正確方法。任何幫助?
檢出urrlib2隊友。 –
我可以看到我在之前的評論中發生了錯誤。它的urllib2不urrlib2:P –
我試着用OAUth第一次失敗,然後嘗試與請求,但最後與urllib2管理。 JUST這3行完成了大部分工作:'req = urllib2.Request(url,query_string); file = urllib2.urlopen(req); result = ast.literal_eval(file.read());' –