[〜#〜] update [〜#〜]:誰か助けてくれたらお願いします:Googleはバグに関するこの問題の入力と例を待っています追跡ツール。この問題の再現可能な手順がある場合は、次の場所で共有してください: https://code.google.com/p/googleappengine/issues/detail?id=10937
Google AppEngineバックエンドを使用してStackExchangeAPIからデータをフェッチしようとしています。ご存知かもしれませんが、StackExchangeのAPIの一部はサイト固有であり、開発者はユーザーが登録されているすべてのサイトに対してクエリを実行する必要があります。
したがって、これらのサイトからタイムラインデータをフェッチするためのバックエンドコードは次のとおりです。 feed_info_site
変数は、StackExchangeサイト名('security'
、'serverfault'
など)を保持します。
data = json.loads(urllib.urlopen("%sme/timeline?%s" %
(self.API_BASE_URL, urllib.urlencode({"pagesize": 100,
"fromdate": se_since_timestamp, "filter": "!9WWBR
(nmw", "site": feed_info_site, "access_token":
decrypt(self.API_ACCESS_TOKEN_SECRET, self.access_token), "key":
self.API_APP_KEY}))).read())
for item in data['items']:
... # code for parsing timeline items
Stack Overflowを除くすべてのサイトでこのクエリを実行すると、すべて正常に機能します。奇妙なことに、feed_info_site
変数が'stackoverflow'
に設定されていると、Google AppEngineから次のエラーが発生します。
HTTPException: Invalid and/or missing SSL certificate for URL:
https://api.stackexchange.com/2.2/me/timeline?
filter=%219WWBR%28nmw&access_token=
<ACCESS_TOKEN_REMOVED>&fromdate=1&pagesize=100&key=
<API_KEY_REMOVED>&site=stackoverflow
もちろん、Safariで同じクエリを実行すると、APIから期待するJSONの結果が得られます。したがって、問題は本当にGoogleのURLfetchサービスにあります。同様のHTTPS/SSL例外に関連するStackOverflowに関するいくつかのトピックをここで見つけましたが、受け入れられた回答が私の問題を解決しませんでした。 cacerts.txt
ファイルを削除してみました。また、validate_certificate=False
で電話をかけようとしましたが、成功しませんでした。
この問題はHTTPS/SSLに厳密に関連しているわけではないと思います。もしそうなら、単一のAPIパラメータを変更するとリクエストが失敗することをどのように説明しますか?
私は同じエラーに直面していました、グーグルは今アプリエンジンを更新しました、エラーは解決しました、更新されたドキュメントをチェックしてください。