0

これは本当に私を混乱させます。ここにリストされているエンドポイントに認証を追加するためのすべての例に従いました。残念ながら、これをアプリ エンジンにデプロイするたびに、次の行を使用して oauth API を読み込もうとすると、404 not found エラーが発生します。

gapi.client.load('oauth2', 'v2', loadcallback);

次のメッセージとともに Javascript エラーが表示されます: *リソースの読み込みに失敗しました: サーバーは 404 (見つかりません) のステータスで応答しました *

これを修正できないようで、gapi.client.oauth2.userinfo.get();を呼び出すことができません。 でも、

gapi.auth.authorize

正常に動作します。何か案は?認証は Android から正しく機能します。

ありがとう

4

1 に答える 1

3

うわー、見つけるのに長い時間がかかりましたが、とてもばかげたものでした. 誰かが同様の問題を抱えている場合に備えて、ここに答えを残しておきます。

この問題は、App Engine プラグインで生成された「connected android」プロジェクトを使用したことが原因でした。これは Auth なしで開始し、手順に従って上記のリンクにある Auth を追加します。

問題は、作成された index.html ファイルの行の下に<script src="https://apis.google.com/js/client.js?onload=loadGapi">、gapi.client.load にドメインの使用を強制する仕様があることです。このコード (中かっこ内のすべて) を削除して、次のようにします。

<script src="https://apis.google.com/js/client.js?onload=loadGapi">
</script>

ただし、これまで機能していたエンドポイント API の gapi.client.load の呼び出しは機能しなくなりました。これを修正するには、次のように URL を使用するように指定する必要があります。

gapi.client.load('deviceinfoendpoint', 'v1', loadcallback, API_URL );

ここで API_URL は 'http://' + window.location.host + '/_ah/api' です。

于 2013-05-03T09:52:48.410 に答える