2015-10-28 15 views
1

根據文獻記載,我可以在獲得個人訪問令牌後通過捲曲獲取商家ID。但是,我收到一個錯誤。我如何獲得商家ID而不是異常?廣場檢索商家Id服務端點未按預期工作?

https://docs.connect.squareup.com

現在你可以使用你的個人訪問令牌發送您的第一個請求連接API。

打開一個終端窗口,運行下面的curl命令,提供其中表明瞭自己的個人訪問令牌:

curl -H "Authorization: Bearer PERSONAL_ACCESS_TOKEN" https://connect.squareup.com/v1/me 

預期結果的文檔:

{ 
    "id": "JGHJ0343", 
    "name": "Dave Davis", 
    "email": "[email protected]", 
    "country_code": "US", 
    "language_code": "en-US", 
    "business_name": "Dave's Milkshakes", 
    "business_address": { 
    "address_line_1": "1455 Market St", 
    "locality": "San Francisco", 
    "administrative_district_level_1": "CA", 
    "postal_code": "94103" 
    }, 
    "business_phone": { 
    "calling_code": "+1", 
    "number": "4155551234" 
    }, 
    "business_type": "restaurants", 
    "account_type": "LOCATION" 
} 

screenshot of exception in PowerShell

異常文本:

所有的
PS C:\Users\JMCC> curl -H "Authorization: Bearer PERSONAL_ACCESS_TOKEN" https://connect.squareup.com/v1/me 
Invoke-WebRequest : Cannot bind parameter 'Headers'. Cannot convert the "Authorization: Bearer PERSONAL_ACCESS_TOKEN" value of type "System.String" to type "System.Collections.IDictionary". 
... 
+0

你已經編輯了你的問題的截圖,所以現在它不可能對任何人有用。然而,評論歷史仍然可以在差異中看到,所以您的個人訪問令牌仍然是公開的。你需要生成一個新的個人訪問令牌,這將使舊的無效。 – Troy

回答

4

首先,您需要重新生成您的個人訪問令牌,因爲你已經張貼在公共論壇。您可以在connect.squareup.com的開發人員儀表板中執行此操作。

其次,文檔假定您使用的機器安裝了cURL命令行程序。這是Linux,Mac和其他類UNIX機器上的常用工具。顯然,微軟已經在更新版本的PowerShell中將curl設置爲Invoke-RestMethod cmdlet的別名。我不確定他們爲什麼決定這樣做,因爲該命令的參數與捲曲提供的參數不兼容。

我建議在cURL download page上獲得cURL的win64版本。

+0

對於如何使用OP識別的方法來實現這一點,有沒有答案? – driz

+1

@driz我假設你的意思是'Invoke-RestMethod'?如果是這樣,我相信你可以做到這一點,但你需要根據我鏈接的PowerShell文檔來翻譯選項以匹配。不幸的是,我沒有Windows機器來測試這個,但類似這樣的東西可能會工作: 'Invoke-RestMethod https://connect.squareup.com/v1/me -Headers @ {「Authorization」=「 bearer ACCESS_TOKEN「}' – Troy

+1

在我看來,它是'Invoke-WebRequest'的別名,而不是'Invoke-RestMethod': > get-alias curl CommandType Name ModuleName ----------- ---- ---------- Alias curl - > Invoke-WebRequest –