問題タブ [drupal-services]

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.

0 投票する
1 に答える
614 参照

json - サービス モジュール drupal の json rpc クライアント

チタンのサービス モジュールによって提供される drupal サービスにアクセスするための json rpc クライアントを作成しようとしています。

このコードは、「無効なメソッド」という結果になります。

データの解析が正しい形式ではないと思います。この問題の解決にご協力ください。

0 投票する
1 に答える
782 参照

iphone - iPhone から Drupal REST サービスに複数の引数を送信する

複数の引数を取る Drupal サービスにアクセスしようとしています。メソッドは views.get で、使用しているサーバーは REST 6.x-2.0-beta3 です。サーバーから 0 または 1 個の引数のデータを問題なく取得しています。ただし、最初の引数より後の引数は無視されます。Drupal サイトでビューをテストしたところ、渡されたすべての引数に対して結果が正しく制限されます。

私の問題はフォーマットに違いないという結論に達しましたが、答えを求めてグーグルで見つけた多数の提案は言うまでもなく、考えられるほとんどすべてを試しました。私のコードは以下の通りです:

私が試してみました:

そして、その流れに沿った他のいくつか。これを行う適切な方法を知っている人はいますか?

0 投票する
1 に答える
736 参照

drupal - 無効な API キー

Drupal 6 のサービス モジュールを使用して、JSON 形式のカスタム ビューからデータを取得する方法を調査しています。http://drupal.org/node/308629の記事に従って、このプロジェクトの vb バージョンを作成しました ( https://sharpred@github.com/sharpred/ConsoleApplicationDrupal.gitにプッシュされます) 。

コードを初めて実行すると「無効な API キー」が表示され、その後の実行では「トークンは以前にリクエストに使用されました。別の nonce キーで再試行してください」が返されます。2 番目のエラーは、私のコードが実行されるたびに新しいランダムナンスを作成するため、少し偽の IMO です。

また、最初の実行で services_timestamp_nonce テーブルにタイムスタンプのみを含むエントリが作成され、nonce またはドメイン値が含まれていないことにも気付きました。このレコードを削除すると、「無効な API キー」メッセージに戻ります。

コードは認証なしで機能し、サイトの /admin/build/services/browse/views.get からのメソッド呼び出しも機能します。

なぜこれが機能しないのかについてのアイデアはありますか?

Google で検索すると、「無効な API キー」の最も一般的な原因は、使用するタイムスタンプが間違っているか、API キーがハッシュの作成に使用されたドメインと一致しないようです。私が見る限り、私の場合はどちらも当てはまりません。https://gist.github.com/1151222でタイムスタンプとハッシュを作成するために使用するコードの要点を作成しました

このプロセスを機能させるのを手伝ってくれる人はいますか?

0 投票する
1 に答える
1825 参照

drupal-7 - Drupal カスタム サービス (サービス モジュール)

サービスを登録しました。呼び出すと、呼び出し自体は機能しますが、返されるデータは「false」です。何が間違っているのかわからず、それに関する情報が見つかりません。誰でも私を助けてくれますか?

このコードを別の場所で使用して呼び出します。

0 投票する
2 に答える
4116 参照

drupal - サービスモジュールを使用してDrupalCommerceで製品の価格を取得するにはどうすればよいですか?

サービスモジュールとRESTサーバーをインストールして、製品と詳細のリストを取得しました。商品表示ノードと商品IDしか取得できません。

しかし、DrupalCommerceから製品の価格と在庫情報を取得する方法。

すべてのノードのリスト(製品表示ノードを含む)

http://drupalcommerce.myappdemo.com/services/node

単一の商品表示ノードを取得する http://drupalcommerce.myappdemo.com/services/node/37

ただし、製品IDは提供されますが、製品価格は提供されません。

入手方法を教えてください。

0 投票する
1 に答える
868 参照

rest - サービス モジュールへの 1 回のリクエストで Drupal ノード フィールドの完全な URI (つまり、「ストリームラップ」ではない) を取得するにはどうすればよいですか?

序文

Flex で記述されたモバイル アプリのコンテンツ提供エンドポイントとしても機能する Drupal サイトを構築しています。CMS は、他のフィールドの中でも、ノードを表すイメージのフィールド (映画の表紙や小さな製品のショットなど) を持つ多数のアイテムを格納する役割を果たします。サービス モジュールと REST サービスを使用して、このコンテンツをモバイル アプリに JSON として提供しています。

問題

Drupal (またはおそらくサービス自体) が、リクエストの粒度に基づいて、各リクエストで返されるデータの量を制限していることに気付きました。たとえば、ノード インデックスリクエストは、すべてのノードで多かれ少なかれ同じフィールドのみを返します: nid、title、status など。一方、単一ノードのリクエストは、my image フィールドを含むカスタム フィールドを追加で返します。

私の問題は、画像フィールドの URI 値が「streamwrapped」であるため (または、この問題の調査で参照されているのを見たことがあります)、単純に としてリストされていることですpublic://images/node_image.jpg。完全な URI を取得するには、ファイルをリクエストする必要があります。つまり、モバイル アプリのインデックス ページでは1 + (n * 2)、特定のノードに関する完全なデータを取得するためだけにリクエストを作成する必要があり、加えnて、各ノード表示の画像を取得するためのリクエストを作成する必要があります。ノードの特定のページに対して最大nで 8 つになるため、ノードのページごとにサーバーに対して最大 25 の要求を行うことができます。

これは一般的/受け入れられていますか?それとも、より少ないリクエストでこのデータにアクセスするためのより簡単/高速/負担の少ない方法はありますか?

補足:私が気づいたことの 1 つは、ファイル リクエストが base64 でエンコードされた画像データベースで返されることです。確かにそれを使用して画像を表示できますが、サーバーからバイナリ画像を要求するだけの方がよいでしょう。

/エンドポイント/node.json

/エンドポイント/ノード/5.json

/エンドポイント/ファイル/8.json

0 投票する
1 に答える
1169 参照

drupal - カスタム cck フィールドでフィルタリングするために drupal サービス モジュールを呼び出す方法は?

以下のような用語で「業種」というタクソノミを作成しました

レストラン 非食通 ワイナリー 飲料 コーポレート

タクソノミーの上に記録する1つのフィールドterm_referenceタイプを持つ「会社」というCCKを作成しました

「ワイナリー」などの分類用語の企業一覧にアクセスしたい

http://tasteofoc.myappdemo.com/api/node?parameters[タイプ]=会社

これにより、すべての会社が正常に返されます。

しかし、特定のビジネス タイプのみを取得するには、フィルタリングする必要があります。

http://tasteofoc.myappdemo.com/api/node?parameters[type]=Company¶meters[field_cat]=飲料

上記の呼び出しでエラーが発生しています。

カスタム CCK フィールドの呼び出しを正しくする方法を教えてください。

よろしく

0 投票する
0 に答える
216 参照

android - Android から Restlet ライブラリを使用して Drupal REST サービスを呼び出すと、ユーザーが失われる

Android アプリから Drupal サイトへの REST 呼び出しを行っています。Drupal サイトでは Services 3.0 モジュールを使用して開発された REST サービスがあり、Android では Java ライブラリ Restlet 2.0 を使用しています。

最初にサービス ユーザー/ログインを呼び出し、受信したセッション ID とセッション名を使用して、2 番目の REST 呼び出しに認証 Cookie を挿入します。

ただし、サービスの Drupal ログを調べていると、基本的に REST サービス呼び出しのエントリが 4 つあります。

  1. サーバー情報メイン オブジェクト
  2. コントローラ
  3. 渡された引数
  4. 結果

エントリ 1 ~ 3 は引き続きログイン ユーザーでキャプチャされますが、エントリ 4 は既に匿名としてログに記録されており、サービス実装もログイン ユーザーを認識していません (つまり、変数 $GLOBALS['user'] には値がありません)。

「Cookie インジェクション」は、認証された呼び出しを行うための正しい手法ですか? もしそうなら、ログインしたユーザーを Drupal 側に保持する方法は?

0 投票する
0 に答える
252 参照

web-services - 残りの Web サービスでファイルを削除する方法

サービス バージョン 7.x-3.1 drupal バージョン 7.12

残りのサービスを使用して Base64 エンコーディングでファイルをアップロードします

resource_path: file.json

残りのサービスでファイルを削除するにはどうすればよいですか?
ノードを削除する方法

resource_path:node/nid.json、resource_type:DELETE

私はテストします

resource_path:file/fid.json、resource_type:DELETE

しかし、404を受け取ります!

0 投票する
1 に答える
74 参照

iphone - XCodeプロジェクトでDIOSConfig.hファイルが見つかりません

DrupalWebサイト用のiPhoneアプリの作成に取り組んでいます。通信にはXML-RPCを使用したいと思います。

DIOSsdkとAFNetworkライブラリをXCodeプロジェクトに追加しました。私が見た2つのチュートリアルによると、次のステップはDIOSConfig.hというファイルを変更し、そのファイルでdrupalサービス関数のURLを指定することです。しかし、そのファイルが見つかりません。

別のファイルにURLを入力する必要がありますか?