RakutenRws_Client::getAuthorizeUrl PHP Method

getAuthorizeUrl() public method

Gets OAuth2 Authorize URL
public getAuthorizeUrl ( string $scope ) : string
$scope string The scopes that is separated by ','
return string The Authorize URL
    public function getAuthorizeUrl($scope)
    {
        $url = 'https://app.rakuten.co.jp/services/authorize';
        $parameter = array();
        $parameter = array('response_type' => 'code', 'client_id' => $this->developerId, 'redirect_uri' => $this->redirectUrl, 'scope' => $scope);
        return $url . '?' . http_build_query($parameter);
    }

Usage Example

Example #1
0
if ($scheme == 'http' && $port == ':80' || $scheme == 'https' && $port == ':443') {
    $port = '';
}
$url = $scheme . '://' . $_SERVER['HTTP_HOST'] . $port . $_SERVER['PHP_SELF'] . '?' . $_SERVER['QUERY_STRING'];
// Clientインスタンスを生成
$rwsclient = new RakutenRws_Client();
// アプリIDをセット
$rwsclient->setApplicationId(RAKUTEN_APP_ID);
// Secretをセット
$rwsclient->setSecret(RAKUTEN_APP_SECRET);
// アフィリエイトIDをセット (任意)
$rwsclient->setAffiliateId(RAKUTEN_APP_AFFILITE_ID);
// 認証時リダイレクトURLをセット
$rwsclient->setRedirectUrl($url);
// リクエストに 'code' があった場合、アクセストークンを取得し
// API を実行します。
// If a request has 'code', get access_token and execute API
if ($_GET['code']) {
    // アクセストークンを取得します。
    if ($rwsclient->fetchAccessTokenFromCode()) {
        // Bookmark追加APIを実行します (http://webservice.rakuten.co.jp/api/favoritebookmarkadd/)
        $response = $rwsclient->execute('FavoriteBookmarkAdd', array('itemCode' => $_GET['itemCode']));
    }
    // 検索画面へ戻ります
    header('Location: index.php?keyword=' . urlencode($keyword) . '&page=' . urlencode($page) . '&m=1');
    exit;
}
// パラメーターに 'code' がない場合は、rakuten_favoritebookmark_update scope の
// 承認画面へ遷移します
header('Location: ' . $rwsclient->getAuthorizeUrl('rakuten_favoritebookmark_update'));
exit;