Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
  #1  
Old 10-30-2012, 09:55 PM
jedrus jedrus is offline
 
Join Date: Jul 2007
Posts: 11
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default 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!
Reply With Quote
  #2  
Old 12-13-2012, 09:34 AM
Bundschuh Bundschuh is offline
 
Join Date: Mar 2012
Posts: 18
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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.
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.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 11:47 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.03621 seconds
  • Memory Usage 2,177KB
  • Queries Executed 13 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (2)bbcode_code
  • (2)bbcode_php
  • (2)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (2)post_thanks_box
  • (2)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (2)post_thanks_postbit_info
  • (2)postbit
  • (2)postbit_onlinestatus
  • (2)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete