2017-10-17 177 views
1

我在使用Facebook進行身份驗證時遇到了問題。這是我簡單的登錄代碼:使用Facebook登錄時無效的photoURL

<script src="https://www.gstatic.com/firebasejs/4.5.2/firebase.js"></script> 
<script> 
    // Initialize Firebase 
    var config = { 
    apiKey: "...", 
    authDomain: "...", 
    databaseURL: "...", 
    projectId: "...", 
    storageBucket: "...", 
    messagingSenderId: "..." 
}; 
firebase.initializeApp(config); 

var provider = new firebase.auth.FacebookAuthProvider(); 

firebase.auth().signInWithPopup(provider).then(result =>{ 
    var user = result.user; 
    console.log(user.photoURL); 
}); 

一次我登錄使用上面的代碼,我得到一個正確的郵箱,用戶等,但我得到無效photoURL:

https://scontent.fna.fbcdn.net/v/t1.0-1/p100x100/11214115_1018245048206356_1486864451318081978_n.jpg?oh=88cb39be27d4d329ab99ae0c426818d1&oe=5A8021D0 

當我按照這個URL,我得到一個錯誤: 無法找到服務器scontent.fna.fbcdn.net的DNS地址。

如何檢索正確的Facebook用戶照片URL?

我需要說的是,谷歌登錄完美工作,並返回有效的photoURL。

回答

1

我通過刪除用戶並再次登錄來解決問題。我可能是生產環境中的一個大問題。

我還發現了另一種解決方法。有效和無效的URL是接近相同的:

有效的一個:

https://scontent.xx.fbcdn.net/v/t1.0-1/p100x100/11214115_1018245048206356_1486864451318081978_n.jpg?oh=88cb39be27d4d329ab99ae0c426818d1&oe=5A8021D0

無效:

https://scontent.fna.fbcdn.net/v/t1.0-1/p100x100/11214115_1018245048206356_1486864451318081978_n.jpg?oh=88cb39be27d4d329ab99ae0c426818d1&oe=5A8021D0

所以,如果你遇到的問題,您需要從更換FNA主機名爲xx