質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

1818閲覧

PHPを使ったYahooAPIコードをGASで動かすには

teratailuser123

総合スコア16

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2020/08/20 05:41

前提・実現したいこと

YahooショッピングAPIを使い受注内容をスプレッドシートに書き出すものを作ろうとしているのですが、Yahoo上に載っているPHPのサンプルコードをGoogle Apps Scriptで動かせるように書き換えて作ろうと思っています。
また、当方プログラミングは初心者で前提として間違えていましたら申し訳ございません。
PHPの知識がなく出来ればGAS上で動かしたいと考えております。

現在コーディングで分からず止まってしまっているのがPHPのサンプルコード上にある

$ch = curl_init();

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $param);

$response = curl_exec($ch);
curl_close($ch);

の部分です。
curl_init();について調べたのですがGASで置き換わるコードがわかりませんでした。
GASで置き換わるコードがありましたらお教え願います。

PHPサンプルコード

php

1<?php 2 3 $header = [ 4 'POST /ShoppingWebService/V1/orderInfo HTTP/1.1', 5 'Host: circus.shopping.yahooapis.jp', 6 'Authorization: Bearer ' . <アクセストークン> 7 ]; 8 9 $url = 'https://circus.shopping.yahooapis.jp/ShoppingWebService/V1/orderInfo'; 10 11 // リクエスト内容は任意の内容に変更してください。 12 $param = <<<EOD 13 <Req> 14 <Target> 15 <OrderId><注文ID</OrderId> 16 <Field>OrderStatus,ShipStatus</Field> 17 </Target> 18 <SellerId><ストアアカウント></SellerId> 19 </Req> 20 EOD; 21 22 // 必要に応じてオプションを追加してください。 23 $ch = curl_init(); 24 curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST'); 25 curl_setopt($ch, CURLOPT_HTTPHEADER, $header); 26 curl_setopt($ch, CURLOPT_URL, $url); 27 curl_setopt($ch, CURLOPT_POST, true); 28 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 29 curl_setopt($ch, CURLOPT_POSTFIELDS, $param); 30 31 $response = curl_exec($ch); 32 curl_close($ch); 33 34?> 35 36

自身で書いたGASコード

GooglAappsScript

1function getdata(){ 2 3var sheet = SpreadsheetApp.getActiveSheet(); 4var row = sheet.getLastRow() + 1; 5 6var header=['POST /ShoppingWebService/V1/orderInfo HTTP/1.1', 7 'Host: circus.shopping.yahooapis.jp', 8 'Authorization: Bearer ' . <アクセストークン> 9 ]; 10 11var url= 'https://circus.shopping.yahooapis.jp/ShoppingWebService/V1/orderInfo'; 12 13$param = <<<EOD 14 <Req> 15 <Target> 16 <OrderId><注文ID></OrderId> 17 <Field>OrderStatus,ShipStatus</Field> 18 </Target> 19 <SellerId><ストアアカウント></SellerId> 20 </Req> 21 EOD; 22 23 24//ここから先がわかりません 25

参考にしたサイト

https://developer.yahoo.co.jp/webapi/shopping/order/sample.html
https://developer.yahoo.co.jp/webapi/shopping/orderInfo.html

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

curl は GAS だと UrlFetchApp で代替するのが一般的です。

投稿2020/08/20 05:57

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

teratailuser123

2020/08/20 08:19 編集

te2ji様 回答ありがとうございます。 UrlFtchAppについて調べさせていただいたのですが、自分の環境でどのようにコーディングすれば良いのか分かりません。下記のような書き方で問題ありませんでしょうか? var response = UrlFetchApp.fetch(url, param);
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問