vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=252)
-   -   Mobile API - login ok but no other action possible (https://vborg.vbsupport.ru/showthread.php?t=289918)

jedrus 10-30-2012 09:55 PM

Mobile API - login ok but no other action possible
 
Hi,
I'm trying to authenticate and get buddies using vbulletin mobile API.

First, I'm calling api_init and I'm storing:
- apiaccesstoken
- apiclientid
- secret
- apiversion

Next - login_login request.
Response for this request is successfull:

Code:

{"session":{"dbsessionhash":"9d55acf45237f22f340c46b91b183772","userid":"0"},"response":{"errormessage":["strikes","http:\/\/forum.xxxxxx.com","api=1&"]}}
After this, I'm trying to call api misc_buddylist but this request allways failing with no permissions error :(

Code:

"{\"response\":{\"errormessage\":[\"nopermission_loggedout\"]}}"
What I'm doing wrong? Should I remember dbsessionhash or do something else?

Here: https://www.vbulletin.com/forum/cont...ess-Mobile-API
is some explanation:

Quote:

Because of technical limits, this method is unable to return a new securitytoken. So after this API call (login_login), client should call api_init (get new session as well as new common $show variables) or api_getsecuritytoken to get the new securitytoken. Once the client gains both the new sessionhash and the securitytoken, please save them in application session vars. After this the login process is done. You need to pass the new sessionhash to the API and use the new securitytoken to sign the requests in future API method calls.
But I do not know how to do it.

thanks for any help!

Bundschuh 12-13-2012 09:34 AM

I assume you didn't call the login()-method properly. Your api-init is probably correct otherwise you weren't able to call any other api methods.

What is your repsone of the login()-method?
It should contains something like this:
PHP Code:

Array
(
    [
session] => Array
        (
            [
dbsessionhash] => a123....
            [
userid] => 1
        
)
    [
response] => Array
        (
            [
errormessage] => Array
                (
                    [
0] => redirect_login
                    
[1] => admin
                
)
        )


Response from buddy()-method look like this:
PHP Code:

{"response":{"buddies":"0"},"show":{"playsound":0}} 


Quote:

Because of technical limits, this method is unable to return a new securitytoken. So after this API call (login_login), client should call api_init (get new session as well as new common $show variables) or api_getsecuritytoken to get the new securitytoken. Once the client gains both the new sessionhash and the securitytoken, please save them in application session vars. After this the login process is done. You need to pass the new sessionhash to the API and use the new securitytoken to sign the requests in future API method calls.

But I do not know how to do it.
I also tried this sequence of method calls but won't work for me. :D
Just calling api_init, extracting the vars for being able to create the signature etc., call login and then call any further method. You will be logged in until you call logout. There is no need to use the db_sessionhash from the login response, or manually call api_getsecuritytoken. If I do that, I will get only "invalid access token" error messages.

Hope this helps.


All times are GMT. The time now is 08:06 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01009 seconds
  • Memory Usage 1,728KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_code_printable
  • (2)bbcode_php_printable
  • (2)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (2)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete