Package net.yahoo.fireeagle.j2me

Source Code of net.yahoo.fireeagle.j2me.FireEagleConsumer

/*
* FireEagleConsumer.java
*
* Created on February 15, 2008, 3:01 PM
*
*/

package net.yahoo.fireeagle.j2me;

import java.io.IOException;
import java.util.Hashtable;
import net.oauth.j2me.BadTokenStateException;
import net.oauth.j2me.Consumer;
import net.oauth.j2me.OAuthServiceProviderException;
import net.oauth.j2me.token.AccessToken;
import net.oauth.j2me.token.RequestToken;
/**
*
* @author Administrator
*/
public class FireEagleConsumer {
    public static final String OAUTH_HOST="https://fireeagle.yahooapis.com";
    public static final String REQUEST_TOKEN_URL="/oauth/request_token";
    public static final String ACCESS_TOKEN_URL="/oauth/access_token";
    public static final String MOBILE_AUTH_URL="http://fireeagle.yahoo.net/oauth/mobile_auth/31"; //31
    public static final String UPDATE_API_URL="/api/0.1/update";
    public static final String QUERY_API_URL="/api/0.1/user";
   
    private Consumer oauthConsumer;
    private RequestToken requestToken;
    private AccessToken accessToken;
   
    /** Creates a new instance of FireEagleConsumer */
    public FireEagleConsumer(String key, String secret) {
        oauthConsumer = new Consumer(key, secret);
        oauthConsumer.setSignatureMethod("HMAC-SHA1");
    }
   
    public RequestToken fetchNewRequestToken() throws OAuthServiceProviderException {
        requestToken = oauthConsumer.getRequestToken(OAUTH_HOST+REQUEST_TOKEN_URL);
        return requestToken;
    }
   
    public AccessToken fetchNewAccessToken() throws OAuthServiceProviderException, BadTokenStateException {
        if (requestToken==null) {
            throw new BadTokenStateException("No request token set");
        }
        accessToken = oauthConsumer.getAccessToken(OAUTH_HOST+ACCESS_TOKEN_URL, requestToken);
        requestToken = null; // it's no good after being used
        return accessToken;
    }
   
    public String updateLocation(Hashtable queryParams) throws OAuthServiceProviderException, BadTokenStateException, IOException {
        if (accessToken==null) {
            throw new BadTokenStateException("No access token set");
        }
        return oauthConsumer.accessProtectedResource(OAUTH_HOST+UPDATE_API_URL, accessToken, queryParams, "POST");
    }
   
    public String queryUserLocation() throws OAuthServiceProviderException, BadTokenStateException, IOException {
        if (accessToken==null) {
            throw new BadTokenStateException("No access token set");
        }
        return oauthConsumer.accessProtectedResource(OAUTH_HOST+QUERY_API_URL, accessToken, null);
    }
   
    // accessors and stuff
    public RequestToken getRequestToken() {
        return requestToken;
    }
   
    public void setAccessToken(AccessToken accessToken) {
        this.accessToken=accessToken;
    }
   
    // no real need to get Access Token or set Request Token (I think)
   
    public String naiveParseErrorResponse(String someXML) {
        int s=someXML.indexOf("msg=");
        if (s<0) {
            return "unknown";
        }
        s=s+5; // move to end of msg=" tag
        int e=someXML.indexOf("\"", s);
        if (e<0) {
            return "unknown";
        }
        return someXML.substring(s, e);
    }
   
    public String naiveParseQueryResponse(String someXML) {
        int s=someXML.indexOf("<name>");
        if (s<0) {
            return "unknown";
        }
        s=s+6; // move to end of <name> tag
        int e=someXML.indexOf("</name>", s);
        if (e<0) {
            return "unknown";
        }
        return someXML.substring(s, e);
    }
   
}
TOP

Related Classes of net.yahoo.fireeagle.j2me.FireEagleConsumer

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.