3

spring-social-facebookのどのバージョンがどのバージョンのFacebookのGraph APIを使用しているかを知るにはどうすればよいですか?Facebook API APIのバージョンに合ったspring-social-facebookのバージョンは?

spring-social-facebookにAPIバージョンを設定する機会はありますか?

私はこの時点で(31.10.2016)、spring-social-facebookの最新バージョンは実際のFacebook APIと互換性がありません。例外がスローされます。「(#12)バイオフィールドはバージョンv2.8以降で非推奨です」

私は開発中ですが、リリース版でこの種のエラーを避ける方法はわかりません。 FacebookのAPIの変更によってアプリケーションが壊れないことを確認するにはどうすればよいですか?

答えて

3

spring-social-facebookのリリースで実装されているFacebookのGraph APIバージョンを知るには、2.0.0.RELEASEがFacebookのGraph APIのv2.3を実装している、2.0.3.RELEASEがv2.5を実装している、等々。

spring-social-facebookのリリースでは、FacebookTemplate.setApiVersion(String apiVersion)というメソッドが導入されました。FacebookのGraph APIバージョンを設定して、Facebookブックアプリケーションで設定されたものと同じものを使用することができます。具体的には、getBaseGraphApiUrl()メソッドが呼び出されると、URLはsetApiVersionメソッド( "https://graph.facebook.com/v" + apiVersion + "/")によって提供されるAPIバージョンで動的に構築されます。

残念ながら、Spring-Social-facebookリリースで実装されたターゲットバージョンよりもFacebookのGraph APIバージョンを提供することを禁じる人はいませんが、あなたはすべてが正しく動作するという保証はありませんsetApiVersionメソッドによって値2.8のAPIバージョンを設定する)、これは解決策ではありません。

あなたの最後の質問に答えるには、this回避策を実装し、次の春の発表を待ち、facebookアプリのバージョンと完全に互換性があるときは次のSpring-Social-facebookリリースを使用してください。 8)、あなたはエラーなしですべてのAPI(すなわちfacebook.userOperations().getUserProfile())を使用できるようになります。 さらにFacebookのGraph APIのv2.8(FacebookのGraph APIの新しいバージョンがリリースされても)を使用し、その後、あなたが使用するSpring-Social-facebookリリース(たとえば、プロダクションenv)は引き続き完全に互換性があります。

+0

ありがとうございました!私は今より理解しました。 しかし、私はあなたの回避策を理解していません。私は次のBeanを使用しています: <コンストラクタ、引数名=" appSecret "値= "$ {facebook.api.secret}"/> これは <ビーンID =で使用されます" appSocialAuthenticationServiceRegistry "... 回避コードはどこに入れますか? – olivmir

+0

(1)2.0.3.RELEASEのspring-social-facebookを使用しているとき、(2)あなたのFacebookアプリケーションが05/10/2016(v2.8バージョンを持っている)の後に作成され、( 3)getUserProfile()apiまたはurl "graph.facebook.com/..."に対してfacebookへの残りの呼び出しを引き起こす他のメソッドを呼び出します。クエリパラメータとして「バイオ」フィールドを含む。他のコンテキストで同じ例外が発生した場合は、「バイオフィールド例外」が発生する可能性があることを除外できません。関連するすべての情報(スタックトレース、コードなど)とともに別の質問をしてください。 – user6904265

+0

APIの古いバージョン(2.8ではなく2.7)で新しいFacebookブックアプリを作成できますか? コード内にgetUserProfileの参照がいくつかあります。つまり、他のチームによって管理されているいくつかの依存関係のあるジャーにはコントロールがありません。 Facebookが私に古いAPIを使って新しいアプリを作成させるかどうか疑問に思う。私は方法を見つけることができませんでした。 – dozer

関連する問題