paiza.IO 上に書いたソースコードおよび実行結果をJSONで取得する
TL;DR
現在の paiza.IO の仕様上、直接 RAW でソースコードは取得できませんが、 JSON 形式でソースコードと実行結果を API 経由で取得できるので、そこから必要な部分を取り出します。
API のリクエスト URL のフォーマット
https://paiza.io/api/projects/<YourPaizaGistID>.json
例
https://paiza.io/projects/XUafcAYRnL6l2YTYDTVbew
現在の paiza.IO の仕様上、直接 RAW でソースコードは取得できませんが、 JSON 形式でソースコードと実行結果を API 経由で取得できるので、そこから必要な部分を取り出します。
https://paiza.io/api/projects/<YourPaizaGistID>.json
例
https://paiza.io/projects/XUafcAYRnL6l2YTYDTVbew
対象の paiza.IO コードの URL が上記の場合、API のリクエスト URL は以下のようになる。
https://paiza.io/api/projects/XUafcAYRnL6l2YTYDTVbew.json
返される JSON のサンプル(取得できる結果)
{
"id": 535660,
"parent_id": null,
"uid": "xxxxxxxxxxxxxxxxxxxxxx",
"share": "public",
"runner_id": "xxxxxxxxxxxxxxxxxxxxxx",
"status": "completed",
"language": "php",
"input": null,
"build_time_limit": null,
"time_limit": null,
"memory_limit": null,
"build_stdout": null,
"build_stderr": null,
"build_exit_code": 0,
"build_time": null,
"build_memory": 25012000,
"build_result": null,
"stdout": "<ここに実行した際の出力結果>",
"stderr": "",
"exit_code": 0,
"time": "0.37",
"memory": 25012000,
"connections": 2,
"result": "<実行結果。成功はsuccess>",
"live": null,
"output_type": null,
"schedule": null,
"title": "<paiza.IO上のタイトル>",
"saved_at": "2017-08-16T15:38:02.000Z",
"run_at": "2017-08-16T15:37:33.000Z",
"created_at": "2017-08-16T15:14:24.000Z",
"updated_at": "2017-08-16T15:38:02.000Z",
"is_owner": false,
"network": true,
"source_files": [
{
"id": 671527,
"project_id": 535660,
"filename": "<コードのファイル名>",
"body": "<ここにエスケープされたソースコード>",
"created_at": "2017-08-16T15:14:43.000Z",
"updated_at": "2017-08-16T15:26:58.000Z",
"position": null,
"annotations": null
}
],
"external_projects": [],
"favorite": false,
"featured": false,
"user": {
"id": xxxxxx,
"email": "<登録メールアドレス>",
"use_password": false,
"provider": "github",
"username": "<ユーザ名>",
"gender": null,
"timezone": null,
"image_url": "https:\/\/avatars0.githubusercontent.com\/u\/11840938?v=3",
"created_at": "2017-06-09T17:41:40.000Z",
"updated_at": "2017-08-14T11:31:39.000Z",
"policy_id": 1,
"locale": "ja-jp"
}
}
所感と利用用途
ノマドな開発の一貫として、ノートやタブレットから TeamViewer を使って自宅の Windows や OSX にアクセスできるようにしており、それなりに便利なのですが、ブラウザさえあれば開発できるような環境を作りたいな、という願望の模索をしています。
理想で言えば、関数やクラスなどの小さい単位の開発は gist
+paiza.IO
で行い、テストをパスしたら自動的にメインに統合するような仕組みです。
paiza.IO は GitHub の gist
と連携できるので、個人だけであれば、ほぼ実現できているのですが、最近オープンソースなものに関しては、もっとコラボレーションできたらいいなと感じてきました。
しかし、他の人が fork
(コピー)したコードは paiza.IO 上ではマージすることができません。そのため、レビューされた結果やコードはコピペするか、お互いに git
コマンドを駆使する必要があるのですが、もっと手軽にコラボしたいのです。
そこで、gist
上にテストコードとソースコードをアップして paiza.IO 上で実行結果を確認(動作確認)できたら、ソースコードを本番に適用するなりできる方法はないかなと、 paiza.IO の運営に問い合わせたところ、API を使ってはどうかとアドバイスをもらったので、ちょっと調べた結果を記事にしてみました。
Author And Source
この問題について(paiza.IO 上に書いたソースコードおよび実行結果をJSONで取得する), 我々は、より多くの情報をここで見つけました https://qiita.com/KEINOS/items/ecccaf1f49cdb1ebb007著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .