2017-12-01 15 views
0

기존 Square POI에서 생성 된 주문을 푸시하기 위해 프로젝트에 Square API를 사용하고 싶습니다.PHP 스퀘어 API로 고정됨 - AUTHENTICATION_ERROR

이렇게하려면 Square Dev 포털에서 생성 된 개인 앱 액세스 토큰과 함께 Checkout API를 사용해야하지만이 작업에 대한 권한이 충분하지 않다는 사실을 계속 알려줍니다!

API 응답

API Answer

API 호출

API CALL

광장 문서

Square Doc

도와

감사 :

+0

은 "!"필요입니다 귀하의 링크를 넣어 이미지를 표시하는'! [Text] [1]'또는'! [Text] (URL)' – Hille

+0

요청에 헤더 Authorization 및 Content-Type이 설정되어 있지 않습니다. 그들을 설정하십시오 – Satya

+0

우편 배달부에서 헤더 섹션을 공유 할 수 있습니까? 또한 Square에는 사전 제작 된 Postman 콜렉션이있어보다 편하게 사용할 수 있습니다. https://medium.com/square-corner-blog/getting-started-with-postman-and-squares-apis-e6bd0f2a8a75 – tristansokol

답변

0

답변 해 주셔서 감사합니다.

심지어 공식 우체부와는 오류가 다시 발생 :(난 그냥 우체부의 location_id와 토큰 변수를 추가하고 응답 다시 403 오류입니다

Postman header

보인다. 그것은 동일합니다 공식을 사용하여 내 PHP 스크립트에 대한 광장 라이브러리를 연결합니다.

SquareConnect\Configuration::getDefaultConfiguration()->setAccessToken('sq0atp-TOKEN'); 
$api_instance2 = new SquareConnect\Api\OrdersApi(); 
$body = new \SquareConnect\Model\CreateOrderRequest();  
$itemstobuy = array(array("catalog_object_id" => "FYFGTSEZBVFP3BYECIJOCYAC", "quantity" => "1"), array("catalog_object_id" => "TMIQXB7RZY4EPXQZZAO3QVYM", "quantity" => "1")); 

$body->setIdempotencyKey(uniqid()); 
$body->setLineItems($itemstobuy); 
$body->setReferenceId("Test".uniqid()); 


try {   
    $api_instance = new SquareConnect\Api\CheckoutApi();  
    $checkout = new \SquareConnect\Model\CreateCheckoutRequest(); 
    $checkout->setOrder($body);  
    $checkout->setIdempotencyKey("Test_".uniqid()); 

    try {   
     $result = $api_instance->createCheckout($location_id, $checkout);   

    } catch (Exception $e) {    
     echo "The SquareConnect\Configuration object threw an exception while " .  "calling CheckoutApi->createCheckout: ", $e->getMessage(), PHP_EOL; exit; }  

} catch (Exception $e) {  
     echo 'Exception when calling OrdersApi->createOrder: ', $e->getMessage(), PHP_EOL; 

}