簡體   English   中英

我需要幫助使用PHP對使用OAUTH 2的API進行身份驗證

[英]I need help authenticating to an API that uses OAUTH 2, using PHP

我正在使用程序PHP編寫的Web應用程序。 沒有框架,沒有MVC,沒有OOP。 就是這樣。 此時,重新編碼使用某種框架是不可行的。 為了我的利益,它組織得非常好,因此很容易在其中工作。 無論如何 - 他們想要添加一個銷售點系統,並已登陸Kounta(kounta.com)。 Kounta有一個RESTful API並返回JSON或XML。

我對編寫與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));
?>

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

為此,我使用了CURL 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從其數據庫中獲取數據。

如果您有任何疑問,請告訴我。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM