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

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

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

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

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

0回答

568閲覧

はじめてのAPI利用、【アクセストークンを○○○○○ヘッダに指定して、APIリクエストを行う】とはPHPでどういう手続きを指しますか?

saya24

総合スコア222

PHP

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

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

3クリップ

投稿2019/10/03 01:48

PHP初心者ながら APIの利用に挑戦しだしています。
あるAPIを利用する上での手順書に以下記述があります。

1.認証情報(クライントキーとシークレットトークン)を用いてアクセストークンを取得する
2.アクセストークンを○○○○○ヘッダに指定して、APIリクエストを行う

アクセストークンを取得するためのURL,リクエストパラメータ,成功時のレスポンスは以下の通り。

【URL】 POST https://□□□□□□□/△△△△ 【リクエストパラメータ】 1:client_key 2:secret_token 【成功時レスポンス】 status code_200と共に以下のJSONオブジェクトを返す { "access_token": "XXXXXXXXXXXXXXXXXXXXXXXXXXX" } ```★利用の主目的のAPIに関し、別の手順書があります。 URL、リクエストパラメータ、成功時レスポンスの記載ありますが、アクセストークンとの関わりが一切記述がありません。 ====質問==== 手順1は API提供元に申込むことで既に入手済み、画面で照会できてます(オンコーディング可) それで今の私は、PHPで 現実どういった手続きを行えば良いのでしょうか? まず、アクセストークンを入手する仕組みが必要なのでしょうが、header関数でclient_keyとsecret_tokenをURL末尾にクエリ文字列として渡す、ということなのでしょうか?すみません、なんかヒントを下さい!

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2019/10/03 01:59

どこかのwebサービスが提供しているapiを利用する側なのか、それともwebサービス側の話なのか、でも変わるというか、話の広さが変わるので、回答する側の負担軽減のためにもどっち側の話がほしいのか指定がほしいです。
退会済みユーザー

退会済みユーザー

2019/10/03 02:30

「APIの利用」と書いてあるので利用する側と認識しますが、じゃぁ利用するAPIはなんなのかって話で、ドキュメントやサンプルコードが提供されているだろうから、まず真似して作る、作ってみて期待した動作にならなければteratailで質問する、ってところだと思います。APIの仕様がわからないうちは的確なアドバイスは出来ません。
yoorwm

2019/10/03 02:46

> PHP初心者ながら APIの利用に挑戦しだしています。 初心者にはまだ早い。(と言ってもらいたいのでしょうか?) 書かれている事で満足の行く結果になっていない、という事は情報が足りないのでしょう。 詳しいAPIの説明のURLでも貼り付けてあれば足りない部分が分かるかもしれませんが、元から足りない文だけで問題解決出来るものでしょうか?
CHERRY

2019/10/03 03:41

おそらくAPI のドキュメントに記載があると思いますので、わかる人が読めば回答がつくと思いますが、具体的な内容を隠されているので、回答がつきにくいと思います。 API の名称やドキュメントの URL を質問に記載した方が回答がつきやすいと思いますけど、記載することはできないのでしょうか?
saya24

2019/10/03 03:59

m6uさん、お求めの回答ができているか自信ないですが、APIで達成されることの希望を書いておきますね。PHPで構築したWebページのログイン画面があります。ログインアカウントとして従来氏名コードを入力し、こちらでLDAPのログインが達成されてきました。LDAPのログインが成立したのち、当該システム内(各システム内)の利用者台帳をそのアカウント=氏名コードで参照することで、所属が導ける そんなことが幅広く行われてきました。 ですが、この度! このLDAPログインで利用されるアカウントが、別スタイルへ移行されることとなりました。氏名コードではなくemailアドレスでのLDAPログインになる、そんな感じです。 しかしながら先言及の各システムの利用者台帳は 皆 従来のままを保ちたいものです。 LDAPのログインアカウントを別スタイルへ移行することを決定した団体は この要望を叶えるため(各システムの利用者台帳まで洗い替える必要がないよう) 新旧のアカウント変換を目的とした今回話題のAPIを用意した、というわけです。 yoorwmさんの仰るとおり、情報が足りなく これ以上の新手は望めないかな CHERRYさん、こんにちわ。ログインに関わる話題なので 私ちょっと神経質になっているのです。すみません 参考プログラムも提供されていません。APIにチャレンジする輩は直接聞いてこい、というスタンスなのかも知れませんね。
CHERRY

2019/10/03 09:00 編集

使用予定は、一般的に公開されていないクローズドな API ということでしょうか? (例えば、社内システムや特定の団体向け等のようなシステム) そうであれば、API 提供者に どのようにすれば良いか直接問い合わせるしか無いと思います。
saya24

2019/10/03 09:20

世間の常識と現在提供されている情報だけで達成できるものなのか否かも 私分からなくてこちらに問合せさせていただきました。ちょっと決着に向けた方向性を考えてみます。
saya24

2019/10/06 14:20

本日、「Web技術基本」という本を読んで思いました。HTTPリクエストでなにわともあれAPIにあたってみるか〜、という気分に。 明日出社したら、cURL関数でPOSTメソッドを、指定された2項目をメッセージボディに織り交ぜ送信してみます。アクセストークンが得られたらいいなぁ
saya24

2019/12/12 12:41

なんか私は勘違いをしていたようです。質問に記載した「手順1」は既に入手済み、の記載は大きく間違っていたようです。訂正してお詫び致します。 シークレットトークンが API提供元に申告することで画面から供給されるだけであって、そのシークレットトークンを利用して、毎回可変(30分有効)のアクセストークンを入手した上 これを本筋APIのあるヘッダに指定しなければならないようです。また、この際にリクエストパラメータとして2つのある値をあたえることで 期待されるJSONオブジェトをもどされることが分かりました。 アクセストークンの取得は curlでなんとか対処することができました。この後の本筋APIのURLへ ヘッダにコレを指定し、かつリクエストパラメータも指定する手立てが分かりません。 これもCurlで対応できることなのでしょうか
saya24

2019/12/14 00:56

PHPのcurlで無事できました。 -Hオプションで ヘッダ項目の値を指定することができることを認識し、早速アクセストークンをその方式にならい指定、またGETでアクセスするURL末尾にリクエストパラメータを付加して試したところ無事に解決しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問