2014-03-04 1 views
0

다음 코드를 사용하여 Instagram API로 액세스 토큰을 생성합니다. 위의 링크를 클릭하면명령을 통해 액세스 토큰이 필요한 스크립트로드

$code = $_GET['code']; 
$client_id = '123456789'; 
$client_secret = '8cf03fedc8bb44f1beccb0ffb529b487'; 
$redirect_uri = 'http://testsite.com/redirect.php'; 
$scope = 'relationships'; 
$url = "https://api.instagram.com/oauth/authorize?client_id=".$client_id."&redirect_uri=".$redirect_uri."&scope=".$scope."&response_type=code"; 

if(empty($code)) { 
    echo '<a href="'.$url.'">Login with Instagram</a>'; 
} 

, 사용자는 $redirect_uri에 있지만 URL의 코드 값으로 리디렉션됩니다.

브라우저를 통해 정상적으로 작동합니다. 그러나, 나는 꽤 $url을로드하고 명령을 통해 URL에서 $code을 얻을 수 없습니다. 명령 줄을 통해 액세스 토큰을 생성 할 수 있습니까?

답변

1

PHP 명령 줄에서 인수 받아 들일 수 :

php /path/to/script.php code client_id 

그런 다음, PHP 스크립트에서, 당신은 인수를 액세스하려면 다음 사용할 수 있습니다 :

전화 스크립트, 그래서 등이

<?php 

$code = $argv[1]; 
$client_id = $argv[2]; 

// TO-DO: Validate the user input 
// rest of your script... 

첫 번째 인수 $argv[0]은 항상 스크립트를 실행하는 데 사용 된 이름입니다.

+0

예,이 방법으로 'http : //testsite.com/redirect.php? code = 123456789'로 리디렉션 할 수 있습니까? – Lance

+0

@Lance :'f_g_c()'또는 cURL을 사용하여 URL 내용을로드하여 코드를 얻을 수 있습니다. 하지만 리디렉션의 의미를 이해하지 못합니다. 명령 줄에서 스크립트를 실행하고 있으므로 "리디렉션"은별로 의미가 없습니다. 설명해 주시겠습니까? –

+0

일단 URL의'code' 매개 변수가 유효하면 나머지 스크립트는 액세스 토큰을 얻을 수 있으므로 정상적으로 작동합니다. 하지만, 어떻게 터미널에'php script.php'를 입력하면 효과적으로'php script.php? code = 123456789'를로드 할 수 있습니까? – Lance

관련 문제