2013-10-23 86 views
1

我有下面的代碼從URL中格式無效 - Instagram的API和Python請求庫

params = {'client_id':settings.SOCIAL_AUTH_INSTAGRAM_KEY, 
       'client_secret':settings.SOCIAL_AUTH_INSTAGRAM_SECRET, 
       'aspect':'media', 
       'object_id':instance.hashtag, 
       'callback_url':'http://localhost:8000/campaigns/hook'} 
    response = requests.post('https://api.instagram.com/v1/subscriptions/', 
          params=params) 

我現在用的是請求庫發送POST請求得到的圖像。但它返回錯誤信息

「無效的格式爲」callback_url \「。URL必須以」http:\/\/\「或\」https:\/\/\「開頭。 「

我不知道我收到此消息。我正在發送請求以下網址。

https://api.instagram.com/v1/subscriptions/?client_secret=ZZZZZZZ&callback_url=http%3A%2F%2Flocalhost%3A8000%2Fcampaigns%2Fhook&aspect=media&client_id=YYYYYYYYYYY&object_id=asda'

的區別是什麼順便說一句http%3A%2F%2F and http:\/\/\

任何想法?

+0

你想獲得或發佈到網址? –

+0

發佈到解決此問題的網址 – tunaktunak

回答

2

您需要使用data參數發佈數據:

response = requests.post('https://api.instagram.com/v1/subscriptions/', 
         data=params) 

params關鍵字用於僅GET參數。

您必須使用可公開訪問的回調URL; http://localhost而不是 URL可以到達的URL。

+0

。謝謝 – tunaktunak

+0

現在收到INVALID Response 400.有什麼想法? – tunaktunak

+0

不是; 400表示服務器的東西*你發佈了不正確的信息。有沒有錯誤機構?看看'response.headers'和'response.content'(甚至有可能是一個'response.json()')來查看服務器是否給出了有關可能出錯的提示。 –