質問編集履歴
2
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -31,7 +31,7 @@
|
|
31
31
|
|
32
32
|
認可コード取得後のソース ↓↓
|
33
33
|
|
34
|
-
$code = $_GET["code";
|
34
|
+
$code = $_GET["code"];
|
35
35
|
$params = array(
|
36
36
|
'client_id' => CLIANT_ID,
|
37
37
|
'client_secret' => CLIENT_SECRET,
|
1
行っている流れ、及び挙動
title
CHANGED
File without changes
|
body
CHANGED
@@ -6,4 +6,71 @@
|
|
6
6
|
認可コードは期限が切れるたびにサイトにアクセスし、ボタンを押して
|
7
7
|
取得しないとダメなんでしょうか・・・・?
|
8
8
|
|
9
|
-
よろしくお願いします。。
|
9
|
+
よろしくお願いします。。
|
10
|
+
|
11
|
+
※試した方法というか
|
12
|
+
まず
|
13
|
+
test.phpで
|
14
|
+
|
15
|
+
https://api.thebase.in/1/oauth/authorize?response_type=code&client_id=【client_id】&redirect_uri=【コールバックURL】&scope=read_users%20read_orders%20read_items&state=【任意のstate名】
|
16
|
+
|
17
|
+
上記のURLを叩きます。
|
18
|
+
設定したコールバックURLに認可コード付きで返ってくる感じなのですが
|
19
|
+
http://【URL】/callback.php ←設定したコールバックURL
|
20
|
+
|
21
|
+
test.phpのURLを叩くとどうしても
|
22
|
+
](f316ff333d6415b152f68eb931702012.png)
|
23
|
+
|
24
|
+
この認証画面で止まってしまいます。
|
25
|
+
手動で認証ボタンを押さないとコールバックURLにリダイレクトされない感じです。
|
26
|
+
手動で認証ボタンを押し、認可コードを取得しAPIでデータを取得することはできています。
|
27
|
+
|
28
|
+
要はこの認可コードの取得をtest.phpでURLを叩いたときに自動でコールバックURLに返ってくれれば
|
29
|
+
問題ないのですが。。
|
30
|
+
|
31
|
+
|
32
|
+
認可コード取得後のソース ↓↓
|
33
|
+
|
34
|
+
$code = $_GET["code";
|
35
|
+
$params = array(
|
36
|
+
'client_id' => CLIANT_ID,
|
37
|
+
'client_secret' => CLIENT_SECRET,
|
38
|
+
'code' => $code,
|
39
|
+
'grant_type' => 'authorization_code',
|
40
|
+
'redirect_uri' => REDIRECT_URL,
|
41
|
+
);
|
42
|
+
$headers = array(
|
43
|
+
'Content-Type: application/x-www-form-urlencoded',
|
44
|
+
);
|
45
|
+
$request_options = array(
|
46
|
+
'http' => array(
|
47
|
+
'ignore_errors' => true,
|
48
|
+
'method' => 'POST',
|
49
|
+
'content' => http_build_query($params),
|
50
|
+
'header' => implode("\r\n", $headers),
|
51
|
+
),
|
52
|
+
);
|
53
|
+
$context = stream_context_create($request_options);
|
54
|
+
|
55
|
+
$response_body = file_get_contents('https://api.thebase.in/1/oauth/token', false, $context);
|
56
|
+
$response_array = json_decode($response_body);
|
57
|
+
|
58
|
+
$token = $response_array->access_token; # YOUR ACCESS TOKEN
|
59
|
+
|
60
|
+
|
61
|
+
|
62
|
+
$headers = array(
|
63
|
+
'Authorization: Bearer ' . $token,
|
64
|
+
);
|
65
|
+
$request_options = array(
|
66
|
+
'http' => array(
|
67
|
+
'method' => 'GET',
|
68
|
+
'header' => implode("\r\n", $headers),
|
69
|
+
'ignore_errors' => true,
|
70
|
+
),
|
71
|
+
);
|
72
|
+
$context = stream_context_create($request_options);
|
73
|
+
|
74
|
+
$response_body = file_get_contents('https://api.thebase.in/1/items?limit=100', false, $context);
|
75
|
+
$response_array = json_decode($response_body);
|
76
|
+
var_dump($response_array);
|