質問編集履歴

2

エラーメッセージの追加

2017/04/07 03:22

投稿

kashim
kashim

スコア38

test CHANGED
File without changes
test CHANGED
@@ -27,6 +27,12 @@
27
27
  何が悪いのか見当つきますでしょうか。
28
28
 
29
29
  以上、よろしくおねがいいいたします。
30
+
31
+
32
+
33
+ 【追記】エラーメッセージの内容を追記しました。
34
+
35
+ Fatal error: Cannot use lexical variable $eventName as a parameter name in /var/www/html/Common/google-api-php-client-2.0.0-RC7/vendor/guzzlehttp/guzzle/src/Event/Emitter.php on line 48
30
36
 
31
37
 
32
38
 

1

コードの追加

2017/04/07 03:22

投稿

kashim
kashim

スコア38

test CHANGED
File without changes
test CHANGED
@@ -27,3 +27,119 @@
27
27
  何が悪いのか見当つきますでしょうか。
28
28
 
29
29
  以上、よろしくおねがいいいたします。
30
+
31
+
32
+
33
+ ```php
34
+
35
+ <?php
36
+
37
+ session_start();
38
+
39
+
40
+
41
+ require_once '../Common/google-api-php-client-2.0.0-RC7/vendor/autoload.php';
42
+
43
+
44
+
45
+ $client_id = '437192358227**************';
46
+
47
+ $client_secret = 'kHIOy**********************';
48
+
49
+ $redirect_uri = 'https://ka**************.php';
50
+
51
+
52
+
53
+ $to_email_address = '************************.com';
54
+
55
+
56
+
57
+ $client = new Google_Client();
58
+
59
+ $client->setClientId($client_id);
60
+
61
+ $client->setClientSecret($client_secret);
62
+
63
+ $client->setRedirectUri($redirect_uri);
64
+
65
+ $client->setState('offline');
66
+
67
+ $client->addScope("https://www.googleapis.com/auth/gmail.compose");
68
+
69
+
70
+
71
+ $service = new Google_Service_Gmail($client);
72
+
73
+
74
+
75
+ $auth_url = $client->createAuthUrl();
76
+
77
+
78
+
79
+
80
+
81
+ if(isset($_GET['code']))
82
+
83
+ {
84
+
85
+ //get access token
86
+
87
+
88
+
89
+ $client->authenticate($_GET['code']);
90
+
91
+ $_SESSION['access_token'] = $client->getAccessToken();
92
+
93
+
94
+
95
+ header("Location: {$redirect_uri}");
96
+
97
+
98
+
99
+ }elseif(isset($_SESSION['access_token'])){
100
+
101
+
102
+
103
+ //mail send
104
+
105
+ $client->setAccessToken($_SESSION['access_token']);
106
+
107
+
108
+
109
+ $subject = mb_convert_encoding( "タイトル", "JIS", "UTF-8" );
110
+
111
+ $subject = "Subject: =?ISO-2022-JP?B?" . base64_encode($subject) . "?=";
112
+
113
+ $to = "To: {$to_email_address}";
114
+
115
+ $body = "本文。";
116
+
117
+ $send_data = "$subject\n$to\n\n$body";
118
+
119
+ $send_data = rtrim(strtr(base64_encode($send_data), '+/', '-_'), '=');
120
+
121
+
122
+
123
+ $msg = new Google_Service_Gmail_Message();
124
+
125
+ $msg->setRaw($send_data);
126
+
127
+ $result = $service->users_messages->send("me", $msg);
128
+
129
+
130
+
131
+ unset($_SESSION['access_token']);
132
+
133
+
134
+
135
+ }else{
136
+
137
+ //oauth
138
+
139
+ print("<a href=\"{$auth_url}\">認証してテストメールを送信</a>");
140
+
141
+ }
142
+
143
+ ?>
144
+
145
+ ```