0

PubSubHubbubとRubyonRailsを使用してSuperfeedrサブスクリプションを実装しようとしています。問題は、コールバックが正常に受信したhub.challenge文字列を出力しても、サブスクリプションが確認されないことです。

  def push
    feed = Feed.find(params[:id])
    if feed.present?
      if params['hub.mode'].present? and params['hub.verify_token'] == feed.secret
        feed.update_attribute(:is_active, (params['hub.mode'] == 'subscribe'))
        render text: params['hub.challenge']
        return
      elsif params['hub.secret'] == feed.secret
        parse(feed, request.raw_post)
      end
    end
    render nothing: true
  end

これはfeed.is_active=trueを設定しますが、SuperfeedrAnalyticsはサブスクリプションの兆候を示しません。

1つのdynoHerokuホスティングと非同期検証方法を使用しています。

4

1 に答える 1

1

最初に確認する必要があるのは、サブスクリプションリクエストのHTTPステータスコードとレスポンスBODYです。サブスクリプションが失敗したことを示すコードは422になると思いますが、本文は何が起こっているのかを正確に知るのに役立ちます。

また、ログに確認リクエストが表示されていますか?

herokuの一般的な問題は、hub.verify = syncを使用する場合、この場合は同時リクエストが必要になるため、2つのdynoが必要になることです...

于 2011-06-03T09:24:06.277 に答える