2015-09-04 44 views
3

我正在使用程序化PHP編碼的Web應用程序中工作。沒有框架,沒有MVC,沒有OOP。就是這樣。在這個時候,重新編碼使用某種框架是不可行的。爲了我的利益,它組織得非常好,所以很容易在內部工作。無論如何 - 他們想添加一個銷售點系統,並登陸Kounta(kounta.com)。 Kounta有一個RESTful API並返回JSON或XML。我需要幫助驗證到使用OAUTH 2的API,使用PHP

我絕對全新,以與API的整合編寫應用程序,並且有被甩出各地的,我不是很熟悉,很多方面的。

從我的理解,我需要使用OAuth 2.0認證自己,並從那裏,可以使服務器調用從他們的服務器中提取數據。

第一件事就是我需要幫助。

我有我的客戶端ID和客戶端密鑰。我只是不知道該怎麼處理它們,以及如何通過腳本將它們傳遞到它們的服務器以便接收令牌,以便我可以進行這些服務器調用。

Kounta API文檔可以在這裏找到(http://www.kounta.com/documentation/)。

任何人都可以提供的任何幫助將不勝感激。在這一點上,我不知道從哪裏開始。

這是我目前使用的代碼。此代碼返回一個錯誤,要求我向Kounta表明自己的身份。

<?php 
    $url = "https://api.kounta.com/v1/companies/5678/orders.json?created_gte=2013‑06‑01"; 
    $ch = curl_init(); 
    curl_setopt($ch,CURLOPT_URL,$url); 
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 
    curl_setopt($ch,CURLOPT_CONNECTTIMEOUT, 4); 
    $json = curl_exec($ch); 
    if(!$json) { 
    echo curl_error($ch); 
    } 
    curl_close($ch); 
    print_r(json_decode($json)); 
?> 
+0

是「5678」您的公司ID? –

+0

@JasonBassett - 不,這是他們提供的示例中提供的ID。但是,我通過儀表板查看了所有信息,但找不到4位數的ID。我能找到的最接近的東西是我們試圖創建的應用程序中的「客戶端ID」。該ID是e4Yo06RwjV3Jf8A8。不知道這是否有幫助。 –

+0

嘗試使用該客戶端ID。你也想從你的評論中刪除那部分,因爲這可能是私人的大聲笑 –

回答

1

我對Kounta不太熟悉,但是最近我做了一個項目,要求我根據用戶ID從Instagram獲取數據。

要做到這一點,我用捲曲。 Instagram有一個非常開放的API甚至一些例子。所以,我想出來並不難。

下方見我的例子:

<?php 
    function fetchData($url){ 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_TIMEOUT, 20); 
    $result = curl_exec($ch); 
    curl_close($ch); 
    return $result; 
    } 
    $result = fetchData("https://api.instagram.com/v1/users/<user>/media/recent/?access_token=<access_token>&count=4"); 
    $result = json_decode($result); 
    foreach ($result->data as $post) { 
    echo '<div class="col-sm-3"> 
    <a href="'.$post->images->standard_resolution->url.'" data-lightbox="instagram" data-title="'.$post->caption->text.' '.implode(' #',$post->tags).'"> 
    <img src="'.$post->images->thumbnail->url.'" alt="" /></a> 
    </div>'; 
    } 
?> 

這樣做是簡單地用URL中的用戶ID和訪問令牌連接到Instagrams API,並返回一個JSON陣列。

我只爲您展示這一目的,因爲這可能是你需要做Kounta前進,以某種形式或時尚到底是什麼。我還沒有審查他們的API或任何東西,所以我不能肯定地說。但是,我超過某些CURL將是您最好的選擇。

我會建議你通過自己的API完全看一次,看看他們有什麼樣的選擇,或者甚至看看他們是否提供任何例子來幫助你開始。

編輯:你提到他們,他們返回JSON和XML。這很好理解,因爲這很可能意味着您可以使用CURL從其數據庫獲取數據。

讓我知道如果您有任何問題。

+0

謝謝傑森。這與我所擁有的相當接近。但是當我運行腳本時,Kounta API返回以下錯誤:stdClass Object([error] => not_authorized [error_description] =>請爲Kounta REST API標識自己)。所以 - 這讓我相信我需要以某種方式驗證自己。在您提供的代碼中 - 我將如何傳遞我的客戶ID和密碼? –

+0

向我展示你正在使用的代碼? @JohnHubler –

+0

當然@Jason。我將代碼添加到我的原始問題中。如果您需要我提供任何其他信息,請告訴我。並感謝您花時間提供幫助。 –