2016-11-11 150 views
2

我正在開發一個項目,根據某些查詢從社交媒體獲取數據並對其進行分析。目前我正在拉Instagram的媒體數據。 我想要做的唯一事情就是輸入一個查詢並獲取JSON媒體/喜歡/評論....我閱讀他們的API的文檔。我發現如果沒有在瀏覽器中使用我自己的帳戶授權,我無法獲得訪問令牌。我知道有一個用戶,所以我認爲使用我自己的帳戶是好的。但問題是我不想從瀏覽器手動獲取訪問令牌。無需瀏覽器即可從Instagram API獲取訪問令牌?

目前我硬編碼訪問令牌。它會過期,我必須每次手動更新它。我敢打賭,有一個更好的解決方案。有人可以幫我嗎?謝謝。

class instagramFeed(): 

    CLIENT_ID = "MY-APP-ID" 
    REDIRECT_URI = "MY-ORGANIZATIONS-URI" 
    ACCESS_TOKEN = "I MANUALLY GENERATE THIS TOKEN" 
    query = None 

    def __init__(self): 
     None 

    def get_data(self, query): 
     response = urllib2.urlopen("https://api.instagram.com/v1/tags/search?q="+query+"&access_token="+self.ACCESS_TOKEN) 

回答

1

這是不可能得到access_token沒有Instagram的網頁上登錄,這就是OAuth認證的整點。

您將不得不手動獲得access_token並更新,根據我的經驗,Instagram access_token永不過期,我已經使用了6年。只有當你需要獲得新的access_token時,如果Instagram因爲檢測到可疑活動而將其撤銷,那麼這個時間就是新的。因此,只要您仔細使用該API,而不會自動執行過多的背對背呼叫,則應該使用相同的access_token

+0

謝謝。我之前獲得的訪問令牌過期了,可能是因爲我從客戶端隱式流中獲得了它。如果我從服務器端流獲取的訪問令牌沒有過期,那麼我認爲我很好:) –

+0

是你在沙箱還是直播模式?我主要使用服務器端oauth,它可能會有所作爲,不確定 – krisrak