Can't get tokens when using OAuth with LinkedIn API

Posted by Angela on Stack Overflow See other posts from Stack Overflow or by Angela
Published on 2010-03-21T01:43:14Z Indexed on 2010/03/21 1:51 UTC
Read the original article Hit count: 618

Filed under:

Hi, was wondering if anyone can help me to get this basic OAuth implementation to work using the LinkedIn API:

The output for the indexes oauth_token and oauth_token_secret are blank.

The file I refer to in OAuth.php are a set of classes to help generate the token requests and tokens. That file is here: http://www.easy-share.com/1909603316/OAuth.php

<?php
session_start();
require_once("OAuth.php");  


$app_token = "YOUR APP TOKEN GOES HERE";

$app_key = "YOUR APP KEY GOES HERE";


$domain = "https://api.linkedin.com/uas/oauth";
$sig_method = new OAuthSignatureMethod_HMAC_SHA1();

$test_consumer = new OAuthConsumer($app_token, $app_key, NULL);
$callback = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."?action=getaccesstoken";


# First time through, get a request token from LinkedIn.
if (!isset($_GET['action'])) {

        $req_req = OAuthRequest::from_consumer_and_token($test_consumer, NULL, "POST", $domain . "/requestToken");
        $req_req->set_parameter("oauth_callback", $callback); # part of OAuth 1.0a - callback now in requestToken
        $req_req->sign_request($sig_method, $test_consumer, NULL);

        $ch = curl_init();
        // make sure we submit this as a post
        curl_setopt($ch, CURLOPT_POSTFIELDS, ''); //New Line

        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($ch, CURLOPT_HTTPHEADER,array (
                $req_req->to_header()
        ));
        curl_setopt($ch, CURLOPT_URL, $domain . "/requestToken");
        curl_setopt($ch, CURLOPT_POST, 1);
        $output = curl_exec($ch);
        curl_close($ch);

        print_r($req_req);  //<---- add this line

        print("$output\n");  //<---- add this line

        parse_str($output, $oauth);


        # pop these in the session for now - there's probably a more secure way of doing this! We'll need them when the callback is called.

        $_SESSION['oauth_token'] = $oauth['oauth_token'];
        $_SESSION['oauth_token_secret'] = $oauth['oauth_token_secret'];

    echo("token: " . $oauth['oauth_token']);
    echo("secret: " . $oauth['oauth_token_secret']);

exit;

© Stack Overflow or respective owner

Related posts about oauth