huuanh1987 / facebook-java-api

Automatically exported from code.google.com/p/facebook-java-api
0 stars 0 forks source link

Incorrect Signature #185

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Hello,

i have the same problem with both of the Versions 2.1 and 3(in version 1.8
eveything worked well):

i use this code to access facebook, and it works well:

        HttpClient httpClient = new HttpClient();
        FacebookXmlRestClient facebookClient = new
FacebookXmlRestClient(APIKEY, SECRET);

        if ((proxyHost!= null) && (proxyHost.length() > 0) && (proxyPort >
0)) {
            httpClient.getHostConfiguration().setProxy(proxyHost, proxyPort);
            //facebookClient.setHttpProxy(proxyHost, proxyPort);*
            URL d = new URL("http://" + proxyHost + ":" + proxyPort);
            facebookClient.setDefaultServerUrl(d);
        }

        facebookClient.setIsDesktop(false);
        String token = facebookClient.auth_createToken();
        String url = LOGIN_URL + "&auth_token=" + token;
        System.out.println(url);

        GetMethod get = new GetMethod(url);
        int getStatusCode = httpClient.executeMethod(get);
        System.out.println("GET: " + getStatusCode);

        PostMethod post = new PostMethod(POST_URL);
        NameValuePair pairs[] = {
                new NameValuePair("version", "1.0"),    
                new NameValuePair("auth_token", token), 
                new NameValuePair("api_key", APIKEY),   
                new NameValuePair("return_session", "0"),   
                new NameValuePair("charset_test", "€,´,€,´,水,Д,Є"),
                new NameValuePair("email", email),  
                new NameValuePair("pass", password),
                new NameValuePair("offline_access", "1")
        };

        post.setRequestBody(pairs);

        int postStatusCode = httpClient.executeMethod(post);
        System.out.println("POST: " + postStatusCode);

        facebookClient.auth_getSession(token);

then when i try to use one of the methods of the client, i get an Incorrect
Signature error and this is the stack print(i chnaged the values of the
keys :D )

<?xml version="1.0" encoding="UTF-8"
standalone="no"?><auth_getSession_response
xmlns="http://api.facebook.com/1.0/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://api.facebook.com/1.0/
http://api.facebook.com/1.0/facebook.xsd"><session_key>d56fg453df5g35dfgdf56</se
ssion_key><uid>1489374997</uid><expires>0</expires><secret>35f4g345dfg53df4g345<
/secret></auth_getSession_response>
<?xml version="1.0" encoding="UTF-8" standalone="no"?><error_response
xmlns="http://api.facebook.com/1.0/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://api.facebook.com/1.0/
http://api.facebook.com/1.0/facebook.xsd"><error_code>104</error_code><error_msg
>Incorrect
signature</error_msg><request_args
list="true"><arg><key>api_key</key><value>16316543541515313513135</value></arg><
arg><key>call_id</key><value>1237823901033</value></arg><arg><key>format</key><v
alue>xml</value></arg><arg><key>method</key><value>facebook.users.setStatus</val
ue></arg><arg><key>session_key</key><value>sd4fgs53d4f3sd4f34sd35f4s3d4f3sd</val
ue></arg><arg><key>sig</key><value>6sd5f4sd64f6sd46f45sd</value></arg><arg><key>
status</key><value>Trying
at Atos WorldLine and feels
normal</value></arg><arg><key>v</key><value>1.0</value></arg></request_args></er
ror_response>
com.google.code.facebookapi.FacebookException: Incorrect signature
        at
com.google.code.facebookapi.FacebookXmlRestClient.parseCallResult(FacebookXmlRes
tClient.java:217)
        at
com.google.code.facebookapi.FacebookXmlRestClient.parseCallResult(FacebookXmlRes
tClient.java:72)
        at
com.google.code.facebookapi.ExtensibleClient.callMethod(ExtensibleClient.java:53
1)
        at
com.google.code.facebookapi.ExtensibleClient.callMethod(ExtensibleClient.java:46
7)
        at
com.google.code.facebookapi.ExtensibleClient.users_setStatus(ExtensibleClient.ja
va:1019)
        at
com.google.code.facebookapi.ExtensibleClient.users_setStatus(ExtensibleClient.ja
va:768)
        at
com.atosworldline.rd.sip.social.FBPresence.doPublish(FBPresence.java:137)
        at javax.servlet.sip.SipServlet.doRequest(SipServlet.java:79)
        at javax.servlet.sip.SipServlet.service(SipServlet.java:46)
        at
com.ericsson.ssa.container.sim.SipServletFacade.service(SipServletFacade.java:91
)
        at
com.ericsson.ssa.container.sim.SipServletWrapper.invokeServlet(SipServletWrapper
.java:140)
        at
com.ericsson.ssa.container.sim.ServletDispatcher.invoke(ServletDispatcher.java:2
85)
        at
com.ericsson.ssa.container.sim.ApplicationDispatcher.invokeServletDispatchers(Ap
plicationDispatcher.java:533)
        at
com.ericsson.ssa.container.sim.ApplicationDispatcher.dispatch(ApplicationDispatc
her.java:344)
        at com.ericsson.ssa.sip.LayerHelper.next(LayerHelper.java:52)
        at
com.ericsson.ssa.container.sim.ApplicationDispatcher.next(ApplicationDispatcher.
java:877)
        at com.ericsson.ssa.sip.LayerHelper.next(LayerHelper.java:59)
        at
com.ericsson.ssa.sip.LocalRouteManager.next(LocalRouteManager.java:98)
        at com.ericsson.ssa.sip.LayerHelper.next(LayerHelper.java:59)
        at com.ericsson.ssa.sip.DialogManager.next(DialogManager.java:531)
        at com.ericsson.ssa.sip.LayerHelper.next(LayerHelper.java:59)
        at
com.ericsson.ssa.sip.dns.ResolverManager.next(ResolverManager.java:133)
        at com.ericsson.ssa.sip.LayerHelper.next(LayerHelper.java:59)
        at
com.ericsson.ssa.sip.persistence.ReplicationManager.next(ReplicationManager.java
:102)
        at com.ericsson.ssa.sip.LayerHelper.next(LayerHelper.java:59)
        at
com.ericsson.ssa.sip.transaction.TransactionManager.invokeCreatedOrFetchedServer
Transaction(TransactionManager.java:222)
        at
com.ericsson.ssa.sip.transaction.TransactionManager.next(TransactionManager.java
:275)
        at com.ericsson.ssa.sip.LayerHelper.next(LayerHelper.java:59)
        at
com.ericsson.ssa.container.OutboundFlowManager.processOutboundRequest(OutboundFl
owManager.java:183)
        at
com.ericsson.ssa.container.OutboundFlowManager.next(OutboundFlowManager.java:98)
        at com.ericsson.ssa.sip.LayerHelper.next(LayerHelper.java:59)
        at
com.ericsson.ssa.container.GrizzlyNetworkManager.next(GrizzlyNetworkManager.java
:1266)
        at com.ericsson.ssa.sip.LayerHelper.next(LayerHelper.java:59)
        at
com.ericsson.ssa.container.MessageProcessorFilter.processMessage(MessageProcesso
rFilter.java:406)
        at
com.ericsson.ssa.container.MessageProcessorFilter.execute(MessageProcessorFilter
.java:300)
        at
com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.
java:136)
        at
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:103)
        at
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:89)
        at
com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:67
)
        at
com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:56)
        at
com.sun.grizzly.util.WorkerThreadImpl.processTask(WorkerThreadImpl.java:325)
        at com.sun.grizzly.util.WorkerThreadImpl.run(WorkerThreadImpl.java:184)

Original issue reported on code.google.com by ar.s...@gmail.com on 23 Mar 2009 at 4:07

GoogleCodeExporter commented 8 years ago
I've added a comment and a screenshot to:
http://code.google.com/p/facebook-java-api/wiki/DesktopMode

What you set your application's mode to really matters. I think it explains all 
the
JUnit test Invalid Signature problems we're seeing.

Please verify that changing this setting fixes your issue and if so please 
close this
issue.

Original comment by david.j....@googlemail.com on 26 Mar 2009 at 10:11

GoogleCodeExporter commented 8 years ago
Desktop mode is probably the cause of this problem. Closing this issue due to 
inactivity.

Original comment by david.j....@googlemail.com on 3 Apr 2009 at 3:20