Package com.appspot.plucial.controller.user.ajax

Source Code of com.appspot.plucial.controller.user.ajax.GetAdsenseAccountsController

package com.appspot.plucial.controller.user.ajax;

import org.slim3.controller.Navigation;

import com.appspot.plucial.Constants;
import com.appspot.plucial.model.UserModel;
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.services.adsense.AdSense;
import com.google.api.services.adsense.model.Accounts;

public class GetAdsenseAccountsController extends AjaxBaseController {

    @Override
    protected Navigation execute(UserModel userModel) throws Exception {

        // トークン情報の取得(アクセストークン、リフレッシュトークン・・・)
        GoogleCredential credential = new GoogleCredential.Builder()
        .setJsonFactory(JSON_FACTORY)
        .setTransport(TRANSPORT)
        .setClientSecrets(Constants.GOOGLE_PROJECT_CLIENT_ID, Constants.GOOGLE_PROJECT_CLIENT_SECRET).build()
        .setAccessToken(userModel.getAccessToken())
        .setRefreshToken(userModel.getRefreshToken());

        try {
            AdSense adSense = new AdSense(TRANSPORT, JSON_FACTORY, credential);

            // アカウント(複数)を取得
            Accounts accounts = adSense.accounts().list().execute();
            requestScope("accounts", accounts);

        }catch(Exception e) {
            // アカウント存在しない場合はエラーになるが、エラーの表示をJSPで行うので何もしない。
        }

        if(isSmartPhone()) {
            return forward("/user_sp/ajax/select_ad_account.jsp");
        }else {
            return forward("/user/ajax/select_ad_account.jsp");
        }
    }
}
TOP

Related Classes of com.appspot.plucial.controller.user.ajax.GetAdsenseAccountsController

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.