Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
AurJsonのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
AurJson
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:パッケージ開発]] [[Category:Arch プロジェクト]] [[en:AurJson]] [[pt:AurJson]] {{Related articles start}} {{Related|公式リポジトリウェブインターフェイス}} {{Related articles end}} [https://aur.archlinux.org/rpc.php AurJson] インターフェイスは [[AUR]] の軽量リモートインターフェイスです。http の GET クエリでリクエストすることで、[http://www.json.org/ json] データとしてレスポンスを得ることができます。 {{Note|この記事では2016年2月15日にリリースされた AUR v4.2.0 の RPC インターフェイス API バージョン5について説明しています。}} == API の使用方法 == === クエリタイプ === 以下の2つのクエリタイプが存在します: * search * info ==== search ==== 以下の形式のリクエストを実行することでパッケージを検索できます: /rpc/?v=5&type=search&by=''field''&arg=''keywords'' {{ic|''keywords''}} は検索単語に {{ic|''field''}} は以下の値のどれかに置き換えてください: * {{ic|name}} (パッケージ名だけで検索) * {{ic|name-desc}} (パッケージ名と説明の両方で検索) * {{ic|maintainer}} (パッケージメンテナで検索) {{ic|by}} パラメータは省略することができ、その場合は {{ic|name-desc}} がデフォルトです。 返り値タイプは {{ic|search}} または {{ic|error}} になります。 検索単語を空にしてメンテナ検索した場合、メンテナが存在しないパッケージのリストが返ってきます。 例: {{ic|foobar}} で検索: <nowiki>https://aur.archlinux.org/rpc/?v=5&type=search&arg=foobar</nowiki> {{ic|john}} によってメンテナンスされているパッケージを検索: <nowiki>https://aur.archlinux.org/rpc/?v=5&type=search&by=maintainer&arg=john</nowiki> コールバックを指定して検索: <nowiki>https://aur.archlinux.org/rpc/?v=5&type=search&arg=foobar&callback=jsonp1192244621103</nowiki> ==== info ==== 以下の形式のリクエストを実行することでパッケージの情報を取得できます: /rpc/?v=5&type=info&arg[]=''pkg1''&arg[]=''pkg2''&… {{ic|''pkg1''}} や {{ic|''pkg2''}} は情報を取得したいパッケージの名前に置き換えてください (完全一致です)。 返り値タイプは {{ic|multiinfo}} または {{ic|error}} になります。 例: {{ic|foobar}} パッケージの情報を取得: <nowiki>https://aur.archlinux.org/rpc/?v=5&type=info&arg[]=foobar</nowiki> {{ic|foobar}} と {{ic|bar}} パッケージの情報を取得: <nowiki>https://aur.archlinux.org/rpc/?v=5&type=info&arg[]=foo&arg[]=bar</nowiki> === 返り値タイプ === 返り値は3つあるタイプのどれかになります。かならずタイプを返すので、操作の結果がエラーだったかどうか判断することができます。 返り値のペイロードは以下の形式になっています: {"version":5,"type":''ReturnType'',"resultcount":0,"results":''ReturnData''} {{ic|''ReturnType''}} は文字列で、以下のうちのどれかになります: * {{ic|search}} * {{ic|multiinfo}} * {{ic|error}} {{ic|''ReturnType''}} が {{ic|search}} と {{ic|multiinfo}} の場合は {{ic|''ReturnData''}} はオブジェクト配列となり、{{ic|''ReturnType''}} が {{ic|error}} の場合は空の配列になります。 ==== return data ==== The type of {{ic|''ReturnData''}} is an array of dictionary objects for the {{ic|search}} and {{ic|multiinfo}} {{ic|''ReturnType''}}, and an empty array for {{ic|error}} {{ic|''ReturnType''}}. For the {{ic|''ReturnType''}} {{ic|''search''}}, {{ic|''ReturnData''}} may contain the following fields: * {{ic|ID}} * {{ic|Name}} * {{ic|PackageBaseID}} * {{ic|PackageBase}} * {{ic|Version}} * {{ic|Description}} * {{ic|URL}} * {{ic|NumVotes}} * {{ic|Popularity}} * {{ic|OutOfDate}} * {{ic|Maintainer}} * {{ic|FirstSubmitted}} * {{ic|LastModified}} * {{ic|URLPath}} For the {{ic|''ReturnType''}} {{ic|''info''}} and {{ic|''multiinfo''}}, {{ic|''ReturnData''}} may additionally contain the following fields: * {{ic|Depends}} * {{ic|MakeDepends}} * {{ic|OptDepends}} * {{ic|CheckDepends}} * {{ic|Conflicts}} * {{ic|Provides}} * {{ic|Replaces}} * {{ic|Groups}} * {{ic|License}} * {{ic|Keywords}} Fields that a package does not contain will be omitted from the output. ==== error ==== error タイプはエラーのレスポンス文字列を返り値に含みます。エラーレスポンスは {{ic|search}} と {{ic|info}} クエリタイプで返ってくることがあります。 {{ic|''ReturnType''}} {{ic|error}} の例: {"version":5,"type":"error","resultcount":0,"results":[],"error":"Incorrect by field specified."} ==== search ==== search タイプは search リクエストから返される結果です。検索の結果は、info リクエストと同じです。info セクションを見てください。 {{ic|''ReturnType''}} {{ic|search}} の例: {"version":5,"type":"search","resultcount":2,"results":[{"ID":206807,"Name":"cower-git", ...}]} ==== info ==== info タイプは info リクエストから返される結果です。 {{ic|''ReturnType''}} {{ic|multiinfo}} の例: <nowiki> { "version":5, "type":"multiinfo", "resultcount":1, "results":[{ "ID":229417, "Name":"cower", "PackageBaseID":44921, "PackageBase":"cower", "Version":"14-2", "Description":"A simple AUR agent with a pretentious name", "URL":"http:\/\/github.com\/falconindy\/cower", "NumVotes":590, "Popularity":24.595536, "OutOfDate":null, "Maintainer":"falconindy", "FirstSubmitted":1293676237, "LastModified":1441804093, "URLPath":"\/cgit\/aur.git\/snapshot\/cower.tar.gz", "Depends":[ "curl", "openssl", "pacman", "yajl" ], "MakeDepends":[ "perl" ], "License":[ "MIT" ], "Keywords":[] }] } </nowiki> === jsonp === JavaScript ページを作っていて、JSON のコールバックメカニズムが必要な場合、callback 変数を追加で指定することで可能です。コールバックは基本的に JavaScript のライブラリで処理しますが、以下が例です。 クエリの例: <nowiki>https://aur.archlinux.org/rpc/?v=5&type=search&arg=foobar&callback=jsonp1192244621103</nowiki> 結果の例: /**/jsonp1192244621103({"version":5,"type":"search","resultcount":1,"results":[{"ID":250608,"Name":"foobar2000","PackageBaseID":37068,"PackageBase":"foobar2000","Version":"1.3.9-1","Description":"An advanced freeware audio player (uses Wine).","URL":"http:\/\/www.foobar2000.org\/","NumVotes":39,"Popularity":0.425966,"OutOfDate":null,"Maintainer":"supermario","FirstSubmitted":1273255356,"LastModified":1448326415,"URLPath":"\/cgit\/aur.git\/snapshot\/foobar2000.tar.gz"}]}) 引数に RPC コールの結果が設定されて JavaScript 関数 {{Ic|jsonp1192244621103}} が自動的に呼び出されます。 == Limitations== * HTTP GET requests are limited to URI of 8190 bytes maximum length. However, the official AUR instance running on a nginx server with HTTP/2 uses the [https://nginx.org/en/docs/http/ngx_http_v2_module.html#http2_max_field_size default URI maximum length] limit of 4443 bytes. Info requests with more than about 200 packages as an argument will need to be split. * Search queries must be at least two characters long. * Searches will fail if they contain 5000 or more results. * The API rate is limited to a maximum of 4000 requests per day per IP. == リファレンスクライアント == 時と場合によっては例があったほうが物事を理解しやすいものです。リファレンス実装 (jQuery, python, ruby) が次の url にあります: https://github.com/cactus/random/tree/2b72a1723bfc8ae64eed6a3c40cb154accae3974/aurjson_examples == 関連するコード == * {{AUR|python3-aur}} パッケージには AUR のリモート JSON インターフェイスなど AUR のサービスを使用するための Python 3 モジュールが入っています。詳しくは [https://xyne.archlinux.ca/projects/python3-aur/ python3-aur] を参照。 * {{Pkg|jshon}} はコマンドラインから JSON をパース・読み込み・作成します。詳しくは [http://kmkeen.com/jshon/ jshon] を参照。
AurJson
に戻る。
検索
検索
AurJsonのソースを表示
話題を追加