1

ログイン時にURLで受け取ったaccess_tokenを渡そうとしていますが、認証してアクセストークンを取得した後、「$_GET」で呼び出すことができません。また、どこでも空の配列を取得しています(ifステートメント、最後、コードの先頭)。

<?php 
    define("client_id",'XXXXXX');
    define("response_type",'token');
    define("scope", 'activity heartrate weight');
    define("expires_in", '86400');

    echo $_GET;
    print_r($_GET['access_token']);
    var_dump($_GET);

    if($_GET['access_token']){
        echo 'success';
    } else { 
?>

    <!DOCTYPE html>
    <html>
    <head>
        <title>FITBIT API</title>
    </head>
    <body>
        <a href="https://www.fitbit.com/oauth2/authorize?response_type=<?php echo response_type; ?>&client_id=<?php echo client_id; ?>&scope=<?php echo scope; ?>&expires_in=<?php echo expires_in; ?>">LOGIN INTO FITBIT</a>
    </body>
    </html>

<?php

    }

?>

Fitbit にログインした後、Fitbit は URL に次のリンクを返します。混乱します。そこに access_token が表示されますが、$_GET は「GET IT」しません。

http://www.xxx.xxx/fitbit.php?#scope=weight+heartrate+activity&user_id=23942H&token_type=Bearer&expires_in=74915&access_token=eyJhbGciOizIUzI1NiJ9.eyJleHAiOjE0NDc3MzYzOTAsInNjb3BlcyI6InJ3ZWkgcmhyIHJhY3QiLzJzdzIiOiIyMzk0MkgiLCJhdWQiOiIyMjlTzloiLCJpc3MiOiJGaXRiaXQiLCJ0eXAiOiJhY2Nlc3NfdG9rZW4iLCJpYXQiOjE0NDc2NzE0NzV9.YDy6fiyZ7iZ6wKJ2tYTI_NV8MHL5k4ymLcRGHmoPO0k
4

1 に答える 1

0

しばらく調査した結果、受信した URL の # が解析中のデータに干渉していることがわかりました。define("response_type",'token'); から切り替えました。定義する("response_type",'コード');. これにより、必要なデータを取得するための access_token に使用できる認証コードを代わりに受け取ることができました。

于 2015-12-08T16:13:49.733 に答える