問題タブ [spring-social-twitter]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring - Spring Social java.io.NotSerializableException: org.springframework.social.security.SocialAuthenticationServiceRegistry
Spring Social を使用して、Appengine で Spring Security を使用して Twitter 経由でログインしようとしていますが、次の例外が発生します。
このエラーは、Twitter から URL http://localhost:8888/auth/twitter?oauth_token=token_value&oauth_verifier=verified_valueにリダイレクトした後に表示されます。
どんな助けでも大歓迎
エラー スタック トレース:
java.lang.RuntimeException: java.io.NotSerializableException: org.springframework.social.security.SocialAuthenticationServiceRegistry at com.google.appengine.tools.development.SerializableObjectsOnlyHashSessionManager$SerializableObjectsOnlyHttpSession.checkCanSerialize(SerializableObjectsOnlyHashSessionManager.java:66) at com.google.appengine .tools.development.SerializableObjectsOnlyHashSessionManager$SerializableObjectsOnlyHttpSession.setAttribute(SerializableObjectsOnlyHashSessionManager.java:43) at org.springframework.social.security.SocialAuthenticationFilter.addSignInAttempt(SocialAuthenticationFilter.java:336) at org.springframework.social.security.SocialAuthenticationFilter.doAuthentication(SocialAuthenticationFilter) .java:309) org.springframework.social.security.SocialAuthenticationFilter で。org.springframework.social.security.SocialAuthenticationFilter.attemptAuthentication(SocialAuthenticationFilter.java:157) で org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:211) で.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110) org.springframework.security.web .FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:80) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java) :107) org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) で org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:57) で org.springframework.web org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) の .filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter) .java:87) で org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) で org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50) ) 組織で。springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) org.springframework.security.web.FilterChainProxy.doFilterInternal( FilterChainProxy.java:192) org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160) org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) org.springframework.web .filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java) :88) org.springframework.web.filter.com.google.appengine.api.socket.dev.DevSocketFilter.doFilter(DevSocketFilter. java:74) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) で com.google.appengine.tools.development.ResponseRewriterFilter.doFilter(ResponseRewriterFilter.java:127) で org.mortbay .jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:34) at org.mortbay.jetty.servlet.ServletHandler$CachedChain .doFilter(ServletHandler.java:1157) at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:63) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) で com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43) で org.mortbay.jetty .servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:125) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1157) com.google.appengine.tools.development.DevAppServerModulesFilter.doDirectRequest(DevAppServerModulesFilter.java:366) com.google.appengine.tools.development.DevAppServerModulesFilter.doDirectModuleRequest(DevAppServerModulesFilter.java:349) でcom.google.appengine.tools.development.DevAppServerModulesFilter.doFilter(DevAppServerModulesFilter.java:116) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) で org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) で org.mortbay.jetty .security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) ) org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) で com.google.appengine.tools.development.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:98) で org.mortbay.jetty.handler. org.mortbay.jetty.handler.org.mortbay.jetty.Server.handle(Server.java:326) の HandlerWrapper.handle(HandlerWrapper.java:152) org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) の org.mortbay.jetty .HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923) org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:547) org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) org. org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) の mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java: 582) 原因: java.io.NotSerializableException: org.springframework.social.security.SocialAuthenticationServiceRegistry at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180) で java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528) で java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493) で java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416) で java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416) でio.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346) at com.google.appengine.tools.development.SerializableObjectsOnlyHashSessionManager$SerializableObjectsOnlyHttpSession.checkCanSerialize(SerializableObjectsOnlyHashSessionManager.java:64) ... 61 以上1416) で java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) で java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346) で com.google.appengine.tools.development.SerializableObjectsOnlyHashSessionManager$SerializableObjectsOnlyHttpSession.checkCanSerialize(SerializableObjectsOnlyHashSessionManager) .java:64) ... 61 件以上1416) で java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) で java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346) で com.google.appengine.tools.development.SerializableObjectsOnlyHashSessionManager$SerializableObjectsOnlyHttpSession.checkCanSerialize(SerializableObjectsOnlyHashSessionManager) .java:64) ... 61 件以上
twitter - Java -SpringSocial: 2 つの日付間の Twitter データを取得する
春のソーシャルを使用して、特定のタグ #spring の Twitter データを取得しています。私が達成したいのは、2 つの日付/タイムスタンプ間のすべてのデータを取得することです。例えば。最後のフェッチ時間と現在の時間の間のデータ。春のソーシャル API を使用すると、2 つの tweetID 間のデータを取得できますが、2 つの日付間のデータを取得する方法を見つけることができませんでした。
助けてください。
アンキット・ソランキ
spring - 春のソーシャルtwitterを使ってtwitterに接続する
Spring IO Guidesからこの例を試しています
Twitter から友達リストを取得する方法を説明します。
しかし、[Twitter に接続] をクリックしても、Twitter に接続されません。
プロパティファイルにappIdとsecretIdがあり、それはクラスパスにあり、Twitterで作成したアプリへの読み取り、書き込みアクセス権があります。
何が問題になる可能性がありますか
spring-integration - Spring Twitter Integration 、ステータス更新の送信に失敗しました。詳細なエラー: 403:要求は理解されましたが、拒否されました
Mark Lui と Josh Long による Pro Spring Integration book の Spring Twitter Integration の例に従っています。
しかし、ステータス更新の送信に失敗したというエラーが表示されます。エラーの詳細: 403:要求は理解されましたが、拒否されました。
何が問題になる可能性がありますか
ここに私の TwitterOutbound.java があります
およびtwitter-outbound.xml
spring-integration - SpringXD: ストリーム内のモジュール間で同じクラスの ClassCastException
Spring Social for Twitter を使用し、Tweet オブジェクトを出力するカスタム Spring XD ソース モジュールがあります。これはうまく機能しています。ソースの出力をログに記録し、リストされた Tweet オブジェクトを確認できます。そのストリームのソースの出力タイプを application/json に変更して、JSON で出力を確認できます。これは期待どおりに機能します。
次に、そのツイートから新しいオブジェクトを作成して出力するプロセッサ モジュールを作成しました。変換メッセージは、ペイロードとして Tweet オブジェクトを含む GenericMessage を想定しています (メソッド引数を単に Tweet にすることも試みましたが、これもうまくいきませんでした)。
ただし、2つのモジュールをリンクすると
ソースモジュールからツイートが出力され、クラスキャスト例外が発生します。
両方のモジュールが同じバージョンの Spring Social Twitter を使用していることを確認したので、問題はないはずです。現在、モジュールはローカル トランスポートを介して通信しているため、これはクラス ローディングの問題でもありません (最終的には非ローカル トランスポートを介して通信する必要があります)。
ソースモジュールの出力タイプをストリームで定義しapplication/json
、入力文字列ペイロードから JSON を読み取ろうとするなどの回避策も試しましたが、Spring Social Tweet オブジェクトの性質上、Jackson は準拠していません。 .
なぜこれが起こっているのか、どうすれば解決できるのか疑問に思っています。間違いなく悪いことをしている気がします。これを行うことが許可されていない場合は、その理由と適切な対応を知りたいです。
どんな助けでも大歓迎です。
ありがとうございました
編集:Spring XD 1.2.1.RELEASEを使用しています
spring - providerId、accessToken、secret で providerUserId を取得するには? (春の社交)
私のアプリケーションでは、providerId と providerUserId でユーザーを識別できます。しかし、最初は、次の情報しかありません。
- プロバイダーID、
- アクセストークン、
- 秘密。
したがって、この情報でproviderUserId を取得する必要があります。
次のコードを使用しようとしています:
しかし問題は、接続キーが初期化されていないことです: providerUserId は null です。
この場合、どうすれば取得できますか?
spring - Spring Social Twitter ストリームが HTTP 401 を無許可で返す
spring-social-twitter を使用して Twitter にストリーム接続しようとしていますが、リクエストをしようとすると401 unauthorized
.
spring-social-twitter はhttps://stream.twitter.com/1.1/statuses/filter.jsonに接続しようとしています。response.getBody()
デバッグして取得しようとするとHttpRetryException
、詳細なメッセージが表示されます: cannot retry due to server authentication, in streaming mode
。
アプリには適切な承認がありますが、ここでは必要ないため、アクセス トークンには承認がありません。1.1.0.RELEASE
バージョンを使用しています。
私はあなたの助けをとてもうれしく思います!
これは私のストリームの呼び出しです:
これは私の単純なリスナー クラスです。