0

これがoauthの初心者の質問である場合は申し訳ありません

ここの例に基づいて、devise +doorkeeperを使用してoauth2APIを実装しました: https://doorkeeper-provider.herokuapp.com/およびここ:https : //github.com/applicake/doorkeeper-devise-client

改ページ可能な取引のリストを返すAPIエンドポイントを提供できるようにしたいのですが、コードは次のとおりです。

module Api::V1
  class DealsController < ApiController
    doorkeeper_for :index
    doorkeeper_for :create, :scopes => [:write]

    respond_to :json

    def index
      if params[:page].nil?
        page = 1
      else
        page = params[:page].to_i
      end
      respond_with Deal.page(page).order("published DESC")
    end

    def create
      respond_with 'api_v1', Deal.create!(params[:deal])
    end
  end
end

ただし、クライアント側では、次のようなページパラメータを渡すことはできません:/explore/deals.json?page=3

何らかの理由で、ページパラメータがプロバイダーに表示されません。誰かが私を助けてくれますか?

4

1 に答える 1

1

問題はdoorkeeper-devise-clientのapi_controllerにあることに気づきました

ページパラメータが正しく渡されません。次の変更を行うと、問題が修正されます。

class ApiController < ApplicationController
  respond_to :json

  def explore
    api_call = params[:api]
    if !params[:page].nil?
      api_call << "/?page=#{params[:page]}"  
    end

    @json = doorkeeper_access_token.get("api/v1/#{api_call}").parsed
    respond_with @json
  end
end
于 2013-03-06T05:21:08.190 に答える