2014-03-04 69 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