2009-05-29 23 views
1

Googleコードウェブサイトのアカウント認証APIで詳しく説明されているClientLoginインターフェイスを学習しようとしています。JavaScriptのXMLHttpRequestを使用したGoogleのClientLoginインターフェイスの使用

私はFirefox 3.5pre(Shiretoko)とXMLHttpRequestオブジェクトをJavascriptで使用しています。ここで私が持っているもののストリップダウンバージョンがあります:私は認証リンクをクリックすると

<html> 
<head> 
<title>Test</title> 
<script type="text/javascript"> 
    //<![CDATA[ 
function update() { 
    var auth_params = "accountType=HOSTED_OR_GOOGLE&Email=val" 
        +"&passwd=val&service=cl&source=MMA-Learning"; 
    var request = new XMLHttpRequest(); 

    request.open('POST', 'https://www.google.com/accounts/ClientLogin', true); 

    request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
    request.setRequestHeader("Content-Length", auth_params.length); 
    request.setRequestHeader("Connection", "close"); 

    request.onreadystatechange = function() { 
    if (this.readyState == 4 && this.status == 200) { 
     alert ("Request done"); 
    } 
    }; 

    try { 
    request.send(auth_params); 
    } catch (e) { 
    alert ("Send Exception:\n"+e); 
    } 
} 
    //]]> 
</script> 
</head> 
<body> 
    <a href="javascript:update()">Authenticate</a> 
</body> 
</html> 

、私は戻って取得すべてがBad Request応答です。リクエストヘッダーを調べると、Content-Typeapplication/x-www-form-urlencodedに設定されていません。

私はFirebug 1.5Xを使ってトラフィックを調べています。今の

、私がやりたいすべてがサンプルリクエストセクションで説明した要求を生成し、回答例セクションで説明した応答を取得しています。私はそこに着く場合は、私はいくつかのアカウントにのような特定のデータを取得したい、未読Googleリーダー等

答えて

-1

「passwdの」の代わりに、資本の小さな「P」である「P」

で「P」のフィードあなたはおそらくそれを考え出したでしょう。あなたが投稿し、あなたが答えを見つけるとき、あなたが答えを投稿してもそれは常に丁寧です。これは、私は、コードのGoogleはcorrectelyコピーして与え、何のケースのミス

がなかったことをpersummedので、「P」は見つけるために、私に2時間かかったという情報

のためにあなたのポストを見ていきます将来的に人々を支援しますインターネットに質問がいっぱいあり、回答がありません。

1

私はあなたがJavascriptの「同じ起源」のポリシーに噛まれたと思われます。これは、XmlHttpRequestを含むJavascriptが別のドメインにアクセスするのを防ぎます。詳細はMozillaから入手できます。

これを回避するためのハックがありますが、GoogleのAPIで動作するかどうかはわかりません。

関連する問題