しばらくの間、これに対する答えを探していましたが、答えが見つからないようです。私はいくつかのことを試しましたが、そのすべてをここにリストします。うまくいけば、誰かが私を正しい方向に向けることができます.
まず、Hapi フレームワークを使用して単純な Node アプリを作成しました。さらに、同じく Hapi の Bell ライブラリを使用して Yahoo で認証し、hapi-auth-cookie を使用してセッションを認証結果に設定しています。これは、私が知る限り、完全に機能しています。
Bell は、ユーザーが認証されると、トークンとシークレットを提供してくれます。
トークンは次のようになります。
A=vvnxl1_FhCK6FPEFbIA.p_N8cSet7Ifmye.i3mWa6hrlh7fXecZhQvumjKSXPkRGfcj2BaFSmZCWPXeW67G8kqiS4G3Z7yBR
シークレットは次のようになります。
9e17917hsjf863c220c35f3f3385b6e4cd586c84
したがって、認証してホームページにリダイレクトされると、これら 2 つがあり、Cookie が設定されます。私はロールの準備ができていると理解しています。次に、次の URL を使用して Yahoo API にアクセスしようとします。
https://fantasysports.yahooapis.com/fantasy/v2/leagues;league_keys=328.l.5668/standings?format=json
この URL へのアクセスに対する応答は次のとおりです。
{
"error":
{
"lang": "en-US",
"description": "Please provide valid credentials. OAuth oauth_problem=\"unable_to_determine_oauth_type\", realm=\"yahooapis.com\""
}
}
ヒットしようとしている URL は明らかに不完全です。ただし、必要なパラメーターが何であるかはわかりません。私は Yahoo ドキュメントに 1000 回アクセスしましたが、この具体的な答えが見つからないようです。そこにあるすべての例は、主に認証ビットに関連しています。そこで、運が良ければ、URL でトークンとシークレットを渡そうとしました。これでは、API URL + トークン + シークレット + 署名を試しました。私が使用しているトークンとシークレットは、上記で参照されている Bell によって提供されたものです。
https://fantasysports.yahooapis.com/fantasy/v2/leagues;league_keys=328.l.5668/standings?format=json&&oauth_token=A=tqq2L3D54ATsQZbgHB95b0ZyCj_kgq01R69vTulZ6lP9evhzddrIaksmd6u21fNSPFQ8WtVBsWr9GFk1zQtsw_OP4pKKaDKs2TxHlqwAYp4ZyIkthzPcSnJQka.J2THeK8BHC8eeisT4EeQpMqcDgefX6Hbb1CsQ_bD00ECd3AE.uGdF_6sm&oauth_secret=b5d2359f191cc72cfd318b5cf&oauth_signature=524a4f6e1407acd00a98f53973180%26b5d2359f191cc4c7d7d7bfd318b5cf
これで、トークンが拒否されたことがわかります。
{
"error": {
"lang": "en-US",
"description": "Please provide valid credentials. OAuth oauth_problem=\"token_rejected\", realm=\"yahooapis.com\""
}
}
また、最初に署名なしで試してみましたが、その場合、エラーは署名がないことを示しています。
ここで何か助けていただければ幸いです。過去 1 週間の検索から、Yahoo API は最も簡単に操作できるものではないことがわかりました。必要な情報がすべて含まれていることを願っています、ありがとう!!