2014-09-26 86 views
0

我的要求如下。讓Instagram訪問令牌無法重新加載頁面

我在頁create.html我想點擊一個彈出窗口說Login with Instagram。當用戶點擊那個彈出。我想在facebook這樣的彈出式窗口上驗證用戶身份,並在無需重新加載的情況下將訪問令牌重新放回同一頁面。由於我正在追加圖片,我將從Instagram中獲得一個已經包含來自Facebook的圖片,如果我刷新將丟失。

我成功解僱請求並獲取該訪問令牌。但我不知道如何在ajax請求中獲取像成功函數那樣的標記。

REQ: https://api.instagram.com/oauth/authorize/?client_id=XXX&redirect_uri=http://localhost:3000/auth/instagram/callback&response_type=code

RES: http://localhost:3000/auth/instagram/callback?code=XXXX

我如何搶在我create.html上code=XXXX

我只能使用JavaScript和jQuery。的NodeJS?沒有!

我試過使用這個庫。 https://github.com/Instagram/instagram-javascript-sdk但它給了我錯誤。 {"code": 400, "error_type": "OAuthException", "error_message": "JS login temporarily disabled"}

如果有什麼辦法讓這個令牌,如Facebook。(下圖)抓住該網址code=XXXX

FB.login(
     function (response) { 
      if (response.authResponse) { 
      access_token = FB.getAuthResponse()['accessToken']; 
      new facebookLogin(access_token); 
      } 
     } 
    ); 

或任何方式。請幫助我。

謝謝。

回答

0

只需在您的回調頁面上使用window.location.search來訪問查詢字符串並解析出代碼參數即可。

+0

事情是,我不想要這樣的頁面。我不想使用另一個頁面。 – unkn0wn 2014-09-26 09:25:11

+0

在您的創建頁面上,啓動彈出窗口後,您可以使用setTimeout使用location.href監視彈出窗口中的URL,以檢測是否已導航到回調URL。然後,您可以提取代碼,關閉窗口並繼續。請注意,您在此處使用授權代碼授權。您將需要對instagram的令牌端點執行一個帖子以交換最終訪問令牌的代碼。 – user1276304 2014-09-26 09:34:15