0

facebookからアクセストークンを取得しようとしていますので、facebookの観点からはデスクトップアプリケーションです。Javascriptでリダイレクトを待っています(Facebookのアクセストークン)

私の最大の問題は、.../login_success.htmlへのリダイレクトを検出することです。私はfirefoxをクラッシュさせずにその方法を知りません。

私の最新の試みです:login_successにリダイレクトしていることを検出/を待つ他の方法

function getAuthToken() { 
     var app_id = 'MY ID'; 
     var redirect_uri = 'https://www.facebook.com/connect/login_success.html'; 
     var permissions = ['user_photos', 'friends_photos', 
          'publish_stream', 'offline_access']; 
     var url = 'https://www.facebook.com/dialog/oauth?' + 
     'client_id=' + app_id + '&redirect_uri=' + redirect_uri + 
     '&scope=' + permissions.join(',') + '&response_type=token'; 

     window.open(url); 

     while(true){ 
      if(window.onload) 
        if(compareURL(redirec_uri)) 
         break; 
     } 

     var hashStr = window.location.hash.substring(1); 

     var arr = hashStr.split('&'); 

     var accessToken = arr[0]; 

     return accessToken; 
    } 

    function compareURL(url) 
    { 
     if(window.location.href.substring(0, url.length) == url) 
      return true; 
     return false; 
    } 

答えて

0

ブラウザがクラッシュした場合は、「無限ループ」が検出され、ページが応答しなくなる可能性があります。お試しください。

window.setInterval(function() 
{ 
    // check your redirect url and so on 
}, 1000); 
+0

ありがとうございました。 – wiseveri

+0

Npの場合、その投稿を回答としてマークする必要があります。 – Chris

+0

私が思ったように、うまくいきませんでした。この関数は終了し、変数access_tokenが有用なものに設定されているわけではありません。 この機能の終了時にトークンが必要です。 – wiseveri

関連する問題