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

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

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

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

Q&A

解決済

3回答

3437閲覧

Yahoo連携ログインの実装

teityann1225

総合スコア158

PHP

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

0グッド

0クリップ

投稿2017/05/17 13:24

編集2017/05/17 13:26

###やりたいこと
Yahoo連携ログインを実装したい。

###エラー内容
Parse error: syntax error, unexpected '...' (T_ELLIPSIS) in callbank.php on line 28

###コード

最初のページ

PHP

1<?php 2// start.php 3 4// YConnectライブラリ読み込み...(1) 5require("lib/YConnect.inc"); 6 7// アプリケーションID, シークレット...(2) 8$client_id = "id"; 9$client_secret = "secret"; 10 11// コールバックURL...(3) 12$callback_uri = "callbank.php"; 13// リクエストとコールバック間の検証用のランダムな文字列を指定してください...(4) 14$state = "44Oq44Ki5YWF44Gr5L+644Gv44Gq44KL77yB"; 15// リプレイアタック対策のランダムな文字列を指定してください...(5) 16$nonce = "5YOV44Go5aWR57SE44GX44GmSUTljqjjgavjgarjgaPjgabjgog="; 17// レスポンスタイプ...(6) 18$response_type = OAuth2ResponseType::CODE_IDTOKEN; 19// Scope...(7) 20$scope = array( 21 OIDConnectScope::OPENID, 22 OIDConnectScope::PROFILE, 23 OIDConnectScope::EMAIL, 24 OIDConnectScope::ADDRESS 25); 26// display...(8) 27$display = OIDConnectDisplay::DEFAULT_DISPLAY; 28// prompt...(9) 29$prompt = array( 30 OIDConnectPrompt::DEFAULT_PROMPT 31); 32 33// クレデンシャルインスタンス生成 34$cred = new ClientCredential( $client_id, $client_secret ); 35// YConnectクライアントのインスタンス生成 36$client = new YConnectClient( $cred ); 37 38// デバッグ用ログ出力...(10) 39$client->enableDebugMode(); 40 41// Authorizationエンドポイントにリクエスト...(11) 42$client->requestAuth( 43 $callback_uri, 44 $state, 45 $nonce, 46 $response_type, 47 $scope, 48 $display, 49 $prompt 50); 51

callbank

PHP

1<?php 2require("lib/YConnect.inc"); 3 4use YConnect\Credential\ClientCredential; 5use YConnect\YConnectClient; 6 7// アプリケーションID, シークレット 8$client_id = "id"; 9$client_secret = "secret"; 10$redirect_uri = "callbank.php"; 11 12$cred = new ClientCredential( $client_id, $client_secret ); 13$client = new YConnectClient( $cred ); 14 15try { 16 // Authorization Codeを取得 17 $code_result = $client->getAuthorizationCode( $state ); 18 19 // Tokenエンドポイントにリクエスト 20 $client->requestAccessToken( $redirect_uri, $code_result ); 21 22 // アクセストークン, リフレッシュトークンを取得 23 $access_token = $client->getAccessToken(); 24 $refresh_token = $client->getRefreshToken(); 25 26} catch ( TokenException $e ) { 27 // 再度ログインして認可コードを発行してください 28}行など...(8) 29try { 30 // IDトークンを検証 31 $verify_result = $client->verifyIdToken( $nonce ); 32 if ( $verify_result ) { 33 // 認証成功 34 // IDトークンからユーザー識別子を取り出してCookie発行などのログイン処理を行ってください 35 $id_token = $client->getIdToken(); 36 } else { 37 // 認証失敗 38 } 39} catch ( Exception $e ) { 40 // 正しく復号できない等の不正なIDトークンが指定された場合の例外処理 41} 42try { 43 // UserInfo APIにリクエスト 44 $client->requestUserInfo( $access_token ); 45 // 属性情報を取得。必要に応じて登録情報にプリセットしてください 46 print_r( $client->getUserInfo(), true ); 47} catch ( ApiException $e ) { 48 // アクセストークンの更新 49}

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

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

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

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

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

guest

回答3

0

ベストアンサー

Parse error: syntax error, unexpected

過去の質問において上記エラーが何度も出ていますが、エラー文から原因を探すようにされたほうが良いです。(そのためのエラー文です)
「28行目」がわからない場合は1行ずつ数えるか、行番号が表示できるエディタを使ってください。

【[PHP]よくあるエラーメッセージの原因と対処法 1 | PHP Archive】
http://php-archive.net/php/error-message/

【[PHP]よくあるエラーメッセージの原因と対処法 2 | PHP Archive】
http://php-archive.net/php/error-message-2/


追記:

あと、callbank ではなく callback です。

投稿2017/05/18 00:45

編集2017/05/18 00:56
kei344

総合スコア69407

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

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

0

28行目でシンタックスエラーです。

投稿2017/05/17 14:43

harashow1701

総合スコア854

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

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

teityann1225

2017/05/17 23:07

どこをどのように修正すればよいのですか?
harashow1701

2017/05/17 23:28

callbank.phpの28行目(周辺)のシンタックスエラーをなおすだけです。1秒でなおせるくらいの初歩的なエラーです。自分の書いたコードなのかコピペしてきたコードなのか分かりませんが、ちゃんとエラーが起きてる周辺を読みましょう。
harashow1701

2017/05/17 23:41

コピペし直しましょうwww
guest

0

シンタックスエラーってしってます?

投稿2017/05/17 23:22

toutou

総合スコア2050

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

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

teityann1225

2017/05/18 08:02

構文エラーだということは分かるのですが、どこが間違っているのかがわかりません。
harashow1701

2017/05/18 12:00

https://teratail.com/questions/76445 こちらの質問の方であなたのこちらの質問がコメ欄で言及されてますが、質問の対象者として回答すると喜ばれると思いますがいかがでしょう?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問