從http://localhost使用本地網絡服務器和服務器... Windows(Abyss)以及Unix(thttpd)都有輕量級的。
編輯:它似乎不可能使用文件:/ /網址。我想這個網頁:
<html>
<head>
<script>
function fbLogin() {
if (window.location.hash) {
alert("Access token is: "+window.location.hash);
} else {
window.location.href = "https://www.facebook.com/dialog/oauth?"
+ "client_id=54715426813&redirect_uri=file:///D:/Herby/Desktop/page.html&response_type=token";
}
}
</script>
</head>
<body onLoad="fbLogin();">
</body>
</html>
,並誓言對話框說
API Error Code: 191
API Error Description: The specified URL is not owned by the application
Error Message: Invalid redirect_uri: Given URL is not permitted by the application configuration.
這意味着,你必須在文件中填寫:在你///類型的URL應用程序配置。我嘗試過,但它說我使用的協議必須是http或https。所以,再見在Facebook上的文件://
真正的桌面應用程序的唯一的可能性是包括使用真實的HTTP URL並以某種方式(通過微小的嵌入式服務器或某種鉤和嘲諷的)網絡控制能夠使用這樣的URL(或者,正如在其他答案中指出的那樣,您可以不使用重定向url並將其重定向到默認的Facebook結果頁面)。但是,這不是您只能在瀏覽器中執行的操作。
謝謝,但要求不是要使用任何網絡服務器。如果我想使用它,那將非常簡單,不是嗎? – rizter
你根本不需要使用dialog/popus。我不知道facebook會怎樣問題,但使用客戶端流程(http://developers.facebook.com/docs/authentication/)似乎很容易獲得訪問令牌,如果url = file :// ...的作品。但我沒有嘗試。在這裏沒有跨域問題應該發揮作用,你會在url的片段部分獲得訪問令牌。 – 2011-11-20 11:17:34
herby,謝謝。我已經通過了文檔,我正在嘗試相同的客戶端工作流程。我不確定你的意思是「根本不需要使用對話框/彈出窗口,我還有什麼其他選擇?客戶端工作流似乎要求使用OAuth對話框,或者我錯過了什麼?如果我打開對話框/彈出,它在另一個域中,我不能從我的開啓者控制 – rizter