2016-01-05 119 views
5

我正在使用新的Instagram API在我的網站。代碼隱藏是c#。 我需要檢索帶有給定hashtag的照片,然後在我的網頁上顯示照片。獲取Instagram訪問令牌,無需登錄屏幕

是否有可能做到這一點,而不會顯示每個訪問我的Web應用程序以獲取訪問令牌的用戶的登錄屏幕?

我可以在公共Instagram頁面中看到我想要的每個標籤,而無需認證自己(Es:https://www.instagram.com/explore/tags/ciao/)。

如果答案是否定的,我可以通過api驗證自己並避免登錄屏幕?

在此先感謝和抱歉我的英語。

回答

3

從Instagram的API文檔:

你可以通過你的access_token(換成你自己ACCESS-TOKEN)訪問以下網址檢索與給定的主題標籤的照片:

https://api.instagram.com/v1/tags/nofilter/media/recent?access_token=ACCESS_TOKEN 

的Instagram的API每個端點需要來自經過身份驗證的用戶的access_token。我們不再支持僅使用client_id來提出請求。

access_token不需要是您的用戶令牌。它可能是你的代幣。但它必須是某人的。

只要確保也查看rate limit文檔。每個訪問令牌的速率限制是分開的,因此您可能需要生成許多訪問令牌並對它們進行循環。您也可以允許您的用戶登錄,如果他們想要,並使用他們的訪問令牌,如果他們登錄。

+1

但我如何獲得/提供訪問令牌?我是否登錄一次,並永久使用該訪問令牌爲我的網站/應用程序? 那是安全的嗎?或者我每隔一段時間手工更新一次令牌?這聽起來像是hacky的解決方案,並且像instagram一樣不希望你在任何網站上顯示他們的數據:-( –

+1

這就是我的意思,我知道instagram有端點來檢索需要訪問令牌的照片,但怎麼可能我使用登錄屏幕獲取訪問令牌而無需登錄?(即使它是我或其他人)我只想在我的網站上顯示照片,而不是其他任何東西。我不相信Instagram不提供簡單的API每次我需要用標籤顯示照片 – jack5891

+0

您必須以特定用戶身份登錄才能生成'access_token'。您可以存儲這些令牌供以後使用,但根本無法生成它們。 –

0
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
<script type="text/javascript"> 
var token = 'YOUR_ACCESS_TOKEN', 
    hashtag='vindiesel', // hashtag without # symbol 
    num_photos = 4; 

$.ajax({ 
    url: 'https://api.instagram.com/v1/tags/' + hashtag + '/media/recent', 
    dataType: 'jsonp', 
    type: 'GET', 
    data: {access_token: token, count: num_photos}, 
    success: function(data){ 
     console.log(data); 
     for(x in data.data){ 
      $('ul').append('<li><img src="'+data.data[x].images.standard_resolution.url+'"></li>'); 
     } 
    }, 
    error: function(data){ 
     console.log(data); 
    } 
}); 

</script>