1

私はデータベースといくつかのオブジェクトの検索エンジンを備えたウェブサイトAを持っています。ユーザーは私のウェブサイトにアカウントを作成し、これらのオブジェクトにコメントを追加できます。プラグインのようなものを使用してAPIを作成する必要があります。これにより、別のWebサイトBに検索エンジンが配置されます。

私はfbまたはtwitterプラグインのようにすることを計画しました:私のAPIを使用したい開発者は、ウェブサイトBにjs行とhtml行を追加するだけで、プラグインが読み込まれます。しかし、私はそれをどのように整理するのか疑問に思っています。

これが私が推測したことです:私は自分のウェブサイトAにページを作成し、その上に検索エンジンを置きます。プラグインを追加するために彼が追加したdivの下の開発者のページ(WebサイトB)で、iframe内にこのページをロードするjsを作成します。次に、OAuth 2を実装し(プロバイダーなどを使用して、データベースを変更するための投稿リクエストを実行できるようにします)、WebサイトBの1つであるユーザーは、WebサイトBの検索エンジンのオブジェクトにコメントを投稿できます。

実際には、fbコメントプラグインプロセスと同じように見えますが、すべてを行うには複雑すぎるようです。それは正しい方法ですか?実装中に直面する必要のある問題を誰かが詳しく説明できますか?

4

5 に答える 5

3

検索結果をJSON(および、みんなを喜ばせたい場合はXML)で返すことができる適切なAPIを開発する必要があります。それはすでに他の開発者にあなたのサイト機能を使用する能力を提供するでしょう、それは主にバックエンドの仕事です。したがって、彼らは独自のウィジェットを開発することができます。

それほど必要のない検索ウィジェットとして独自のウィジェットを開発するには、設定されたターゲット(おそらく必須の要素)またはターゲットを渡す初期化メソッド(開発者にとってより柔軟性が高い)のいずれかが必要です。

検索ボタンをバインドし、用語検索を取得し、APIを呼び出して、結果を取得したらそれらを表示するか、カスタムコールバックを実行して、結果を引数として渡します。柔軟性)

javascriptを上手くやれば、そこに小さなAPIを作成して、javascriptを介したAPIの使用を容易にすることもできます。そして、それをjQueryプラグインなどに簡単に移植することもできます。

JSONを提供するときは、APIのヘッダーを設定して、クロスドメインを許可するか、代わりにjsonpを使用するようにしてください。

于 2012-04-12T20:05:33.807 に答える
1

あなたの質問はアーキテクチャの方向性を暗示していますが、そのような選択には要件が広すぎます。まず、要件を絞り込みます。OAuth 2.0は潜在的にあなたのニーズを満たすのに役立つかもしれませんが、少なくとも次のことを自問してください。

  • どのユーザーデータを保護する必要がありますか?
  • どのようなサードパーティのデータアクセスが必要ですか?どのような機能ですか?
  • OAuth 2.0を使用する場合、まだ変更されている仕様に従う準備ができていますか?認証プロバイダーになりますか?
  • どのサーバー側の言語/プラットフォームが受け入れられますか?
  • 他にどのようなセキュリティ上の考慮事項があなたにとって重要ですか?(ソーシャル共有、サードパーティアプリの信頼レベルなど...)
  • サードパーティのツールにどれだけ頼りますか?またはあなた自身を書きますか?

FB、Twitter、またはGoogleからデザインをモデル化することは、この種のことを行っているため、悪い考えではないことに同意します。

新しい本「OAuth2.0入門」をご覧になるかもしれません。

于 2012-04-13T14:11:53.427 に答える
0

より簡単な方法は、必ずしも最も賢明ではありませんが、JSONPを使用してWebサイトを呼び出すJSを作成することです。

iFrameはW3C標準ではありません。可能であれば、それらを避けてください。独自のサーバーに対していくつかのJSONP呼び出しを実行し、それに応じて結果をJavascriptで返すいくつかのイベントを使用して、Javascriptをコーディングします。これにより、ページと対話できるようになります。

于 2012-04-14T04:30:41.437 に答える
0

カスタム検索をユーザーが利用できるようにする2つの簡単な方法を次に示します。

最も簡単なオプションは、Googleが行うことを実行することです-サイトでの検索は、単純で明確に定義されたAPIに従います-

www.mysite.com/search?q=keyword1+keyword2

結果のリストをHTMLで返します。

次に、HTMLのスニペットを含めるようにユーザーに指示します。

<form action="http://www.mysite.com/search" method="get">
   <input name="q" type="text" value="Search">
</form>

ただし、この時点で、より優れた検索オプション、検索フォームのjavascriptラッパー、返されるデータのJSONまたはXML形式、セキュリティ、これらすべてを考慮に入れた、より適切に機能するAPIを使用して改善したい場合があります。 。

もう1つの方法は、JavaScriptを使用してデータにコールバック機能を提供することです。したがって、URLは次のようになります。

www.mysite.com/js-search?q=keyword1+keyword2&callback=someHandle

JSONデータを含むjavascriptファイルと、ロード時に「someHandle」の呼び出しを返します。APIを使用する開発者は、リクエストとハンドラーを作成する独自の方法を作成する必要があります。XSSのため、クエリはおそらくパートナーのサーバーから送信されることに注意してください。最も簡単なのは、おそらく、他の人がそれを利用できるように、独自の検索オファーをシンプルで十分に文書化することです。

于 2012-04-09T23:18:02.047 に答える
0

OAuth 2は、WebサイトBがバックグラウンドでWebサイトAにPOSTリクエストを行うことを許可する場合に役立つ可能性があります。

代わりに、WebサイトBにアクセスするユーザーがコメントを投稿できるようにする場合は、WebサイトAを指すフォームを備えたiframeで十分です。

于 2012-04-13T23:09:43.040 に答える