2017-11-09 9 views
-1

Ich lerne über Linkedin api so für den Start muss ich wissen, wie ich einen Autorisierungscode anfordern?Einen Autorisierungscode anfordern Linkedin

ich versuche so viele Fragen mit diesem Typ hier, aber ich verstehe immer noch.

Vom docs soll:

"Simple Call":

https://www.linkedin.com/oauth/v2/authorization?response_type=code&client_id=123456789&redirect_uri=https%3A%2F%2Fwww.example.com%2Fauth%2Flinkedin&state=987654321&scope=r_basicprofile 

Aber ich muss wissen, wie man mit php diesen Anruf durchführen.

Ich versuche:

$response = file_get_contents("https://www.linkedin.com/oauth/v2/authorization?response_type=code&client_id=123456789&redirect_uri=https%3A%2F%2Fwww.example.com%2Fauth%2Flinkedin&state=987654321&scope=r_basicprofile"); 
$response = json_decode($response); 
var_dump($response); 

Von diesem answer aber meine Rückkehr ist: NULL.

bearbeiten

Mein OAuth2.0 Endpunkt autorisiert ist http://localhost, ich weiß nicht, ob das machte Problem oder sind möglich.

Ich gebe curl Tag auch, weil die Lehre für diesen Zweck sehr willkommen ist.

leid meinem Englisch

+0

http://hayageek.com/php-curl-post- get/# curl-get –

+0

Tks für atention @TahaPaksu, aber mit diesem Beispiel retun '404', vielleicht einige Fehler auf URL Anfrage, überprüfe ich oft die URL-Parameter, souds ok, aber nicht funktionieren ... – MagicHat

+0

Negative sind willkommen , wenn Sie mit irgendwelchen Tipps folgen, um besser zu fragen, ohne welchen Nutzen kann es bringen? – MagicHat

Antwort

0

Nun, ich weiß nicht, ob der richtige Weg ist, aber ich habe mit dem folgen:

Um die Anforderung zu machen:

<?php 
header('Location: https:/www.linkedin.com/oauth/v2/authorization?response_type=code&client_id=xxxxxxx&redirect_uri=http%3A%2F%2Flocalhost%2FapiLinkedin%2FDevMagicHat%2Fauth%2Flinkedin/callback&state=xxxxxxxxx'); 
?> 

Und hier ist mein Rückruf, nach Anfrage Linkdin antwort auf ruf zurück uri.

So im Ordner callback i schaffen eine index.php Seite Antwort zu erhalten:

localhost/apiLinkedin/DevMagicHat/Auth/linkedin/Rückruf/index.php

<?php 
$code = $_GET['code']; 
$state = $_GET['state']; 
echo "Code =>".$code."<br/>"."State =>".$state; 
?> 

i wirklich nicht wissen, Wenn dieser Weg besser ist als andere, aber Arbeit für mich, hoffe ich, dass ich auch für euch arbeite.

0

Zuerst Sie create an application in Linkedin-Plattform und erhalten Sie Ihre client_id

Wir geben zu, dass Ihre Umleitungs-URL ist: http://localhost/index.php, das erste, was Sie tun sollten, ist der Browser des Benutzers auf LinkedIn ist zu richten:

index.php

$params = [ 
    'response_type' => 'code', 
    'client_id' => $client_id, 
    'redirect_uri' => 'http://localhost/index.php', 
    'state' => 'textOfYourChoice' 
]; 

$url = 'https://www.linkedin.com/oauth/v2/authorization?'.http_build_query($params); 

header('Location: '.$url); 

Sie werden nun die linkedin Autorisierungsseite, klicken Sie einfach Knopf erlauben und Sie werden zurück zu Ihrer Seite Index richten. PHP mit dem Code in den URL-Parametern übergeben.

Um nun den Code-Wert zu erhalten, sollten Sie $ _GET Variablen überprüfen:

index.php wird:

if (isset($_GET['code']) { 
    die($_GET['code']); 
} 

$params = [ 
    'response_type' => 'code', 
    'client_id' => $client_id, 
    'redirect_uri' => 'http://localhost/index.php', 
    'state' => 'textOfYourChoice' 
]; 

$url = 'https://www.linkedin.com/oauth/v2/authorization?'.http_build_query($params); 

header('Location: '.$url); 
+0

Ich versuche so etwas vor der Verwendung von Curl, aber zurück 'string 0' ...] – MagicHat

+0

@MagicHat, Ok Lass mich überprüfen, ich habe das nicht vorher versucht, vielleicht gibt es etwas, das ich vergesse – YouneL

+0

Oh Mann, kein Problem, ich wünsche wirklich, führe das mit curl durch, um zu lernen ... tks für atention ... ich warte;) – MagicHat