正しい結果を返すためにコンテキストフィルターを受け入れるビューがあります。サービス3とDrupal 7.を使用しています。7。エンドポイントを作成し、サービスを介してビューを取得できます。しかし、コンテキストフィルターを渡す方法がないようです。 services_viewsには、取得メソッド(GETを使用)しかありません。これが可能かどうか、また可能であればどのように実行できるかはだれでも知っていますか?
次のようにフィルターを渡します:yourendpoint?args [0] = value&args [1] = value
幸運を
フィルターがビューで公開されている限り、フィールド名はコンテキストフィルターとして使用できます。たとえば、フィルターリストでNIDを公開すると、次のことができます
GET /endpoint?nid=5
これは既に回答済みの質問ですが、今後ここで閲覧する他の人には、 Services Views のドキュメントを使用して確認することをお勧めします。コンテキストフィルターを他の多くの可能な引数と共に渡す方法を説明し、デモビデオと例を示します。
問題が解決しない場合は、ビューにフィルターを追加するときに、指定したフィールドの設定の下にフィルターIDがあることを確認してください。これは、サービスビューのドキュメントに記載されている2つの形式でクエリ文字列に渡される引数である必要があります。
コンテキストフィルターで複数の値を使用する必要がある場合は、次のことをお勧めします。
return str_replace("|", "+", $_GET['nid']);
サービスを呼び出すときに、コンテキストフィルターを次のように指定します。../my_service?nid = 1 | 2 | 3
Drupal Services by:1) 'Views Contextual Filter Query'モジュールを有効にしてコンテキストフィルターを取得できました( https://drupal.org/project/views_contextual_filter_query )2)URLを介してコンテキストフィルターをクエリ文字列として渡します。
コンテキストフィルターで、「フィルター値IS NOT AVAILABLE '->' URLからのクエリパラメーター」を選択する必要があります。これにより、パラメーター名を追加できるようになります。 URLで使用します。これにより、+および|文字を使用して複数のフィルター基準を選択することもできます。