完了したAI回答を、その回答が引用したソースと比較します。結果はコンパクトな対応表です。結果に含まれる
各ソースページの段落、それに対応する回答の部分、リンクごとの説明、そしてそれらのリンクから作った短い要約を含みます。
これは既存の回答に対する事後的な対応分析です。ソースがモデルに文を生成させた証拠でも、ページの品質スコアでも
ありません。判定ではなく、確認するための根拠として扱ってください。
GET /v1/async/task/:id をポーリングするか、送信時に webhook.url を指定してください。タスクは
taskType: "SOURCE_INFLUENCE" として報告されます。この分析は POST /v1/async/task ではなく専用エンドポイントで
送信してください。POST /v1/research と CITATION_ATTRIBUTION タスク種別は2026年9月以前の名称で、非推奨の
エイリアスとして引き続き動作します。
実行済みのタスクを分析する
回答がこのAPIから得たものなら、結果から回答と引用をコピーする代わりにタスクidを送ってください。
タスクは自分のもので、COMPLETED であり、GET /v1/async/task/:id でまだ読める必要があります。回答の
Markdown(エンジンがMarkdownを返さなかった場合はテキスト)が answer になり、引用URLがエンジンの順序で
citations になります。最初の100件までで、ディスカッションスレッドは最大10件です。商品・動画カードの
プレースホルダー(googleusercontent.com のリンク)と Google 検索のリンクは、読むページがないためスキップします。
送らなければタスクの prompt、country、エンジンを使います。taskId を answer や citations と一緒に送ると
400 で拒否され、未完了のタスクや回答テキスト・引用URLのないタスクも同様です。不明または期限切れのタスクidは
404 を返します。
Payload
analysis のオプトインは廃止されました。
以前のバージョンは analysis: {version: 1, …} を受け付けていました。現在はインサイトがすべての結果に含まれるため、
このフィールドは無視されず 400 で拒否されます。既存の連携から削除してください。既存のタスク内容は引き続き
読めます。保存済みのレコードは移行しません。
answer
送信した回答をそのまま返します。answerRanges はまさにこの文字列のオフセットです。JavaScript のUTF-16コード
単位で、start は含み、end は含みません。テキストを分割し直さず、answer.slice(start, end) のようにそのまま
切り出してください。すべての範囲は回答の意味的なまとまり(文、リスト項目、表のセル)を丸ごと指し、境界は元の
テキスト基準です。
sources[]: 送った引用ごとに1エントリ
id: 不透明な識別子。結果内で一意です。
url: 送った引用URL。
paragraphs[]: 結果に含まれたそのページの段落。それぞれ id(結果全体で一意)と段落の text を持ちます。
リンクなしで含まれる段落もあります。
error: ページを読めなかった場合のみ存在します。このとき paragraphs は空で、文字列はそのソースに関する
短い理由です。
links[]: 段落ごとに1つの関係
paragraphId: このリンクが対象とする段落。常に sources[] に存在する段落を指します。
answerRanges[]: この段落に対応する回答の部分で、上と同じUTF-16オフセットの start/end ペアです。1つの
リンクが複数の範囲を持つことがあり、同じ回答テキストが範囲間で重複することはありません。各範囲は回答の
まとまり(文、リスト項目、表のセル)を丸ごと指します。
explanation: 対応を説明する短い文。段落が回答のその部分について何を述べているかを記します。
insights[]
この結果のリンクが総合して示す内容の短い要約です。linkIds は各要約の元になったリンクを示し、links[] に
あるリンクしか指せません。インサイトがレスポンスにない関係を主張することはありません。リンクがなければ、
要約するものもありません。
結果を正しく読む
- リンクがないことは判定ではありません。 リンクのない段落は回答の範囲と一致しなかっただけで、範囲のない
回答部分はリンクされた段落がなかっただけです。どちらもページが無関係、未使用、信頼できないという意味では
ありません。
- 読めなかったページは不確かなままです。
sources[].error があれば、その引用は分析から除外されています。
リンクがないことを否定的な結果と見なさないでください。重要なら再試行するか body を渡してください。
- 対応であって因果ではありません。 結果は、既存の回答と既存のページテキストが事後的にどう対応するかを
説明します。生成への影響を測ったり、ページを順位付けしたり、採点したり、回答の生成過程を報告したりはしません。
- idは内部用です。
p…/l… の識別子を実行をまたいだ安定キーとして保存しないでください。1つの結果の中で
のみ有効です。
実行と制限
- サイズは失敗の理由になりません。 リクエスト契約が受け付けるもの、つまり最大200,000文字の
answer と最大
100件の引用はすべて分析します。長い回答、多数のソース、非常に長いページは、拒否せずに処理を分割して扱います。
- 深さはページではなく回答に比例します。 長いページだからといって、回答が裏付けられる以上のリンクは
生まれません。分析は回答に対応する可能性が最も高い箇所に集中し、対応があるすべてのソースが結果に表れます。
大きなページや、同じ記述をナビゲーション、一覧、レビューで繰り返すページでは、すべての出現ではなく最も強い
箇所を想定してください。
- マークアップは根拠になりません。 サイトマップ、リンク索引、画像ギャラリーはリンクを生みません。それら
だけでできたページは、対応を作り出さずに段落なしで報告されます。
- 読めなかったソースは、他に読めるソースがあればタスクを失敗させずに
sources[].error で報告します。どの
ソースも読めなかった場合、分析の失敗、タイムアウト、サービス設定エラーではタスクが失敗します。
- リクエストはAPIの他の部分と同様に使用量で計測します。送信レスポンスは一時的なクレジットの確保を示し、
最終的な課金はタスクが終了状態に達したときに確定します。