• Resolved avatarone1

    (@avatarone1)


    Hi,

    I have fixed the auth part only and didn’t update anything else
    if you want to still using this plugin , you can fix it as follow ,or I recommend to move to this new plugin to be updated by its author @thhake , it is under testing
    https://www.ads-software.com/support/topic/solution-to-access-private-photo-albums

    my fix ,
    Google has ended accepting AuthSub so we have to change the auth to OAuth 2.0.
    The two authors of the plugin “gjanes & Wott” have left the wordpress 2 years ago and there is more than 10,000 active install.
    I am not specified in google api but I made this for the need.
    I have understanded the problem and worked until I have completed this Successfully.

    solution is very simple as follow :-

    1-first download the new php file of the plugin “picasa-express-2.php”.
    https://drive.google.com/file/d/0BxJDmNzyAfLhaXhqMFkwMkdUWkk/view?usp=sharing
    2-go to https://console.developers.google.com .
    3-create project.
    4-go to “consent screen” under “APIs & auth”, select an Email address and type any product name then click save.
    6-go to “credential” under APIs & auth”, click create new Client ID
    7-select “web application” and type your website domain/s under “Authorized JavaScript origins” .
    8-type “Authorized redirect URIs” as the path of your main picasa-express-2.php + ?authorize
    like this : https://example.com/wp-content/plugins/picasa-express-x2/picasa-express-2.php?authorize
    9-click Create client ID , it will show an Client ID for web application.
    10-Edit the new “picasa-express-2.php” file and type the info in the ” of variables under the comment(lines-40-42) from the “Client ID”.
    11-Replace the new “picasa-express-2.php” file by the old one at the main plugin folder.
    12-go to settings page of the plugin and click Revoke access(if it save old access from Authsub) then click “Request access” to gain the new OAuth 2.0 access.
    13-Now you have done all thing , Just try the plugin.

    the changes of the file is only in auth parts and I didn’t use any php functions except that of the wordpress.
    the OAuth 2.0 completely differ from AuthSub which its token doesn’t expired

    changes:
    Major : lines 3408-3513(end) : new code for recieve the code from OAuth and request for access token and refresh token and saving them.
    Major : lines 1570-1612 : get new access token if the last one has expired save it and use it for the current request.
    lines 39-42 : info-of-Client ID for web application that you must fill.
    lines 764 & 2859 : new url for OAuth 2.0 request access.
    lines 3023-3036 : Revoke the access token by OAuth 2.0 and delete refresh token.

    any changes for this topic will be at :
    https://drive.google.com/file/d/0BxJDmNzyAfLhN2p3eENJYUJqaFU/view?usp=sharing

    if you want to pay for this :
    https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=L5HN75SBGLN98

    https://www.ads-software.com/plugins/picasa-express-x2/

Viewing 15 replies - 1 through 15 (of 16 total)
  • it worked again by this solution !!
    it was a nightmare for me

    the new plugin doesn’t work ,it have an error ,so I advise to use this solution.

    Thanks Thanks Thanks ?? <3

    Jeroen

    (@jeroenonstenk)

    Thanks for this solution!!

    Hi, it is nearly working for me, but I get following error:

    PHP Warning:  require_once(/***/wp-load.php): failed to open stream: No such file or directory in /***/wp-content/plugins/picasa-express-x2/picasa-express-2.php on line 3438
    PHP Fatal error:  require_once(): Failed opening required '/***/wp-load.php' (include_path='.:/***/usr/***:/***/usr/share/pear') in /***/wp-content/plugins/picasa-express-x2/picasa-express-2.php on line 3438

    I’m using latest WP 4.2.2 version
    Please, Could you help? I really need this plugin working again.

    Hi avatarone1,

    thanks for your effort to fix that problem. I followed your steps exactly and finally (after some errors I made) the plugin was working again!

    Next thing for me to do is to donate an amount to your Paypal account!

    Hopefully Google will not change again something!!

    Hope to keep in contact

    Regards

    Stefan

    Thread Starter avatarone1

    (@avatarone1)

    Hi,

    thanks for all , google doesn’t prefer to change anything but Authsub is out of date and google warns for cancelling it for months ,

    @redywebs this problem is not related to this fix , I thought to change this part of php code but I preferred to change auth part only.

    this problem occur when you change the path of wordpress or move to another host or any thing that change the real path of the plugin folder.
    this problem is a clear mistake from the author but he didn’t think about it

    so to fix this :
    method 1 : just delete pe2-wp-path.php file which included with the plugin folder.

    method 2 (you will have to do this on every time you change the real path of the plugin folder):
    (if you doesn’t know the real path ,do another solution)
    open pe2-wp-path.php file which included with the plugin folder (this file generated on first install of the plugin) and change the path to the correct path (real path from the user root not http path).

    method 3 (this will fix the problem permanently):
    just delete this part from the php code

    if(file_exists(dirname(__FILE__).'/pe2-wp-path.php')){
    // include the pe2-wp-path.php to define the wordpress root
    // (this allows a customized path (sometimes necessary in certain
    // wordpress installations) to be set when saving the pe2 preferences page
    // and written to the file system so it can be loaded here prior
    // to any wordpress filters or functionality being available)
    // (using an include that sets a variable so that if the file is
    // accessed from the web nothing is visible, thus not causing a
    // security problem)
    include(dirname(__FILE__).'/pe2-wp-path.php');
    }

    method 4 (this will fix the problem permanently, if I typed this plugin I would do this , it is the same idea of method 3):

    delete this :

    // require wp-load so that wordpress loads allowing us to perform the updates
    // to the appropriate setting
    if(file_exists(dirname(__FILE__).'/pe2-wp-path.php')){
    // include the pe2-wp-path.php to define the wordpress root
    // (this allows a customized path (sometimes necessary in certain
    // wordpress installations) to be set when saving the pe2 preferences page
    // and written to the file system so it can be loaded here prior
    // to any wordpress filters or functionality being available)
    // (using an include that sets a variable so that if the file is
    // accessed from the web nothing is visible, thus not causing a
    // security problem)
    include(dirname(__FILE__).'/pe2-wp-path.php');
    }
    if(!isset($pe2_wp_path)){
    // for some reason the include doesn't exist (preferences haven't
    // been written, or web server doesn't have write access to the
    // plugin directory) or the include didn't set the appropriate
    // variable.
    // We have no choice but to determine the path as best as we can
    // and hope it works with this installation
    $pe2_wp_path = preg_replace('/wp-content.*/','',__FILE__);
    }
    // require wp-load.php for the core wordpress functions we need
    require_once($pe2_wp_path.'wp-load.php');

    and put this instead :

    // require wp-load so that wordpress loads allowing us to perform the updates
    $parse_uri = explode('wp-content',__FILE__);
    require_once( $parse_uri[0] . 'wp-load.php' );

    —–
    if anyone has any other problem , please post it.
    I think it will not be any another problem ,this last problem I have already expected it and it doesn’t relate to the auth fix.

    Thread Starter avatarone1

    (@avatarone1)

    to anyone have or will have this problem ,I recommend method 3 or method 4 .

    I have made this file has (auth fix as the main post of the topic + require wp-load.php fix)
    https://drive.google.com/file/d/0BxJDmNzyAfLhS29JNVQzR1NUTkE/view?usp=sharing

    I recommend to use this file instead of the picasa-express-2.php file of the main post to avoid any future problems.

    N.B : there is no relation between auth fix and require wp-load.php fix.

    Hi there – it seems I have been a little bit too enthusiastic ??

    I found out that this solution only works temporary. After some time, when I open my homepage, i get no pics from my picasa albums and get the message “response code is 403”.

    To solve this I have to go to settings of the “Picasa and Google plus Express”-Plugin. I get the error message there as well “Checking user: error: Response code is 403”.

    All I have to do is “Revoke access…” and “Request access…” – after this is done i get the message in the settings “Checking user: ok”

    The pictures than appears on my homepage.

    BUT – after a specific time (I didnt find out yet how long it is exactly) – everything starts from the beginning with no pics on my homepage and “response code is 403”

    Do you have any idea what this can be?

    Thanks for your help!

    Stefan

    Thread Starter avatarone1

    (@avatarone1)

    @heimatpfleger thank you for your feedback
    this was a mistake ,I have forget to update the code of blog level
    the code already was working for user level
    mostly you tried blog level so this error occur

    now I have updated the files you can replace the new files (save info part before this)
    please test the updated code and tell me the result

    also, I will make the console client info fields on the plugin setting page to make this easier and to support multisite install but I am very busy for days I will do this later.

    Thread Starter avatarone1

    (@avatarone1)

    sorry I intended to say
    the code already was working for blog level
    mostly you tried user level so this error occur

    Thread Starter avatarone1

    (@avatarone1)

    tested for blog and user level and it works for both !!
    N.B :
    -you must revoke access then request a new access when changing between blog and user levels.
    -I have updated the files on google drive , you can download it from links in previous posts.

    Hi Avatarone,

    I’m using the last version provided but right after authentication I get this:

    Fatal error: Call to undefined function register_activation_hook() in /home/xxx/public_html/<mydomain>.com/blog/wp-content/plugins/picasa-express-x2/picasa-express-2.php on line 148

    The same error is now with the original plugin file.

    The lines giving error are:

    register_activation_hook( __FILE__, array (&$this, ‘init_options’ ) );
    register_deactivation_hook( __FILE__, array (&$this, ‘delete_options’ ) );

    I can’t understand why the functions aren’t loaded.

    Thread Starter avatarone1

    (@avatarone1)

    Hi dabesa,

    this can’t be related to my auth part change , this is a big error may be related to your multisite install or may be the plugin has an error related to multisite install.

    try to deactivate the plugin then activate it or please search because I didn’t have much information about multisite install problems.

    at the end of this week I will make a different thing on the solution , wait,support me , and post any problems you get.

    Thread Starter avatarone1

    (@avatarone1)

    Hi,

    as I promised I have updated the plugin again but this time I have made a 3 options of OAuth2 in the setting page of the plugin.
    from now there is no need to edit anything on the php file of the plugin.
    I have made a simple app to serve the OAuth2 (get code , get access token , refresh access token) for any website , so no need for console project if you want it easy.
    the 3 options of oAuth2 is :
    Default App : it is the app deployed by me on console project and it is encrypted.
    Custom App : you can upload your app and use it instead of default app , you have to edit the file and add a client id info.
    Client ID : if you want to make a console project and use it.

    to download this app if you want to upload it and using it as a custom app :
    https://drive.google.com/file/d/0BxJDmNzyAfLhcVRYTDJVNV91YU0/view?usp=sharing
    this app may be very helpfull on multisite install.

    to download only the new picasa-express-2.php file :
    https://drive.google.com/file/d/0BxJDmNzyAfLhekRWSDRVbnhiTkk/view?usp=sharing
    to download the full updated plugin :
    https://drive.google.com/file/d/0BxJDmNzyAfLhV3BQS3RVMFM2OWc/view?usp=sharing

    Take a look on it , you will be happy !!
    I expect that this is the final wonderful update ??

    if you like to pay for this :
    https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=L5HN75SBGLN98

    thank you for supporting me , please test

    @jeroenonstenk , @aboibrahim , @redywebs , @heimatpfleger , @pic02766

    Hi Avatorone1,

    Thanks very much for looking into this issue, it’s a life-saver!

    However, when I try and use the latest version of the plugin, with either “Default App” or “Client ID”, trying to authorize fails. I get the Google “Approve” screen for my application, but after that I get this error:

    {“error”:{“message”:”Invalid verification code format.”,”type”:”OAuthException”,”code”:100}}

    I don’t know why it’s mentioning Facebook!

    Any thoughts please?

    Thanks!

Viewing 15 replies - 1 through 15 (of 16 total)
  • The topic ‘Updating the auth code from AuthSub to OAuth 2 to fix private access problem’ is closed to new replies.