1

私の要件は、google.comの検索クエリの上位20のリンクを取得することです。私はGoogle-api-clientを使用しています!ルビーのために。

これが私が使用しているコードです、

require 'google/api_client'
client = Google::APIClient.new
response = client.execute(
    search.cse.list, 'key' => '<My Key>', 'cx' => '013036536707430787589%3A_pqjad5hr1a', 'alt' => 'json', 'q' => 'hello world'
)

今、私は3つの問題に直面しています。

  1. デフォルトのGoogle検索を使用したいので、「cx」の値はどうなりますか?私が使用したものは、https://developers.google.com/custom-search/v1/using_rest#cxからのものです
  2. 結果が得られず、代わりに次の警告「ArgumentError:Missingaccesstoken」が表示されます。「client.authorization.access_token='123'」を定義することにより、ダミートークンを使用してこの問題を解決しました。しかし、それが正しい解決策であるかどうかはわかりません。
  3. access_tokenを定義した後も、結果が得られません。代わりに、「無効な資格情報」という警告が表示されます。しかし、同じURL(APIによって生成された)を使用すると、ブラウザーで結果が得られます。
4

1 に答える 1

9

ダミーのアクセストークンを設定する代わりに、承認メカニズムをnilに設定するだけです。

client.authorization = nil

このように、認証ヘッダーを送信せず、アプリを識別するためにAPIキーのみに依存します。

于 2012-05-30T23:47:13.793 に答える