光陰矢の如し。灼熱の猛暑が嘘のように冷え込みはじめた毎日だが、なかなか渓流釣りに足を進められない。
○NASAの今日の一枚(APOD)は取得できるのか?
早速、以前に作成したNASAコンテンツ"今日の画像"スクリプトをPowerShellで呼び出してみると、
$url = "https://api.nasa.gov/planetary/apod?api_key=●●●●●●●●●●●●"
$response = Invoke-RestMethod -Uri $url
$imageUrl = $response.url
Write-Host "今日のNASA画像のURLはこちら: $imageUrl"
Read-Host "終了するには、Enterキーを押してね"
表示されるのは、とても美しい御覧のような画像。おお、APIで呼び出せるようになっている。休止中だったNASAの活動が徐々に復活しているようだ。
これは何の写真だろうか?画像(.url)同様にプロパティに.title、日付(.date)や説明文(.explanation)などプロパティを追加するとデータが返る仕様だ。説明分を表示させてみよう。
$url = "https://api.nasa.gov/planetary/apod?api_key=●●●●●●●●●●●●"
$response = Invoke-RestMethod -Uri $url
$imageUrl = $response.url
$explainUrl = $response.explanation
Write-Host "今日のNASA画像のURLはこちら: $imageUrl"
Write-Host "説明分: $explainUrl"
Read-Host "終了するには、Enterキーを押してね"
スペインで撮影されたレモン彗星の写真のようだが、やはり英語表示では瞬時に理解するのが難しい。コンソールに表示されるこの説明文を翻訳したい・・・
○課金してでも表示したくなった日本語説明文
普通にコピー&ペーストで翻訳でいいじゃないか?という声もあるだろう。しかし、せっかく動いたスクリプト。不思議なもので、黒い背景にテキストだけが表示されるコンソールから呼び出される美しい写真を見ていると、どうしても日本語の説明文を表示させたい衝動に駆られる。
無料のOSS仕様のものから本格的な翻訳APIを提供するクラウドまで様々な方法が考えれるが、ここでは以前使ったことのあるGoogle Cloudの翻訳(Tranlation)APIを使ってみよう。
$url = "https://api.nasa.gov/planetary/apod?api_key=●●●●●●●●●●●●"
$response = Invoke-RestMethod -Uri $url
$explanation = $response.explanation
$imageUrl = $response.url
# Google翻訳APIキー(環境変数から取得)
$googleApiKey = $env:GOOGLE_API_KEY
$googleUri = "https://translation.googleapis.com/language/translate/v2?key=$googleApiKey"
# 翻訳リクエストのボディ(Basicモデル)
$body = @{
q = $explanation
source = "en"
target = "ja"
format = "text"
model = "base"
} | ConvertTo-Json
$translationResponse = Invoke-RestMethod -Uri $googleUri -Method Post -Body $body -ContentType "application/json"
$translatedText = $translationResponse.data.translations[0].translatedText
Write-Host "今日のNASA画像のURLはこちら: $imageUrl"
Write-Host "今日のNASA画像の説明(翻訳):"
Write-Host $translatedText
Read-Host "終了するには、Enterキーを押してね"
.











![[USBで録画や再生可能]Tinguポータブルテレビ テレビ小型 14.1インチ 高齢者向け 病院使用可能 大画面 大音量 簡単操作 車中泊 車載用バッグ付き 良い画質 HDMI端子搭載 録画機能 YouTube視聴可能 モバイルバッテリーに対応 AC電源・車載電源に対応 スタンド/吊り下げ/車載の3種類設置 リモコン付き 遠距離操作可能 タイムシフト機能付き 底部ボタン 軽量 (14.1インチ)](https://m.media-amazon.com/images/I/51-Yonm5vZL._SL500_.jpg)