1

注: さらなる調査 (および厚いスキンと大量のコーヒー)により、ストアが URL で uid と pwd を受信できないことが示唆され、ここでの PHP の例から送信を暗号化する必要があることがわかりました。これは私の問題ですか?もしそうなら、私はこれを回避する方法について何も見つけることができませんでした.

open() コマンドで UID & PWD ウィンドウが開き、手動で値を入力できるようになれば幸いです。誰か提案がありますか。ありがとう!


私は BigCommerce API の使用方法を学んでおり、ストアの DB のすべてのフィールドから直接投稿/取得できるように VB / XL でプログラミングしています。

私は以前にこれをコーディングしたことがなく (VB は問題ありませんが)、行き詰まっています。次のコードがあります。

Const URL As String = "https://www.myurl.com/api/v2/brands.json"

Public Sub Test()
    Dim xmlHttp As Object

    Set xmlHttp = CreateObject("MSXML2.ServerXMLHTTP.6.0")
    xmlHttp.Open "GET", URL, False, "myid", "mytoken"
    xmlHttp.setRequestHeader "Content-Type", "application/json"
    xmlHttp.send

    Dim html As MSHTML.HTMLDocument
    Set html = New MSHTML.HTMLDocument
    html.body.innerHTML = xmlHttp.ResponseText

    Range("A1").Value = html.body.innerHTML

End Sub

私が返すのは「401」またはより正確です:

[{"status":401,"message":"No credentials were supplied in the request."}]

URL をブラウザに配置して送信すると、UID と PWD のポップアップが表示され、使用している値をコードに配置すると、結果の BRANDS リストがブラウザ。

さらに、URL に「乱数」を追加して、返されたデータがここで提案されているようにキャッシュされないようにすると、要求は次のようになります。

    xmlHttp.Open "GET", URL & "&t=" & WorksheetFunction.RandBetween(1, 99), False, `"myid", "mytoken"`

BC からの応答は次のように変わります。

406</STATUS><MESSAGE>The requested content type is not available.</MESSAGE></ERROR></ERRORS> 

私もこれを試しました(UIDとPWDは正しい値です):

xmlHttp.Open "GET", URL & "&user=UID" & "&password=PWD", False

そして私は得る:

406</STATUS><MESSAGE>The requested content type is not available.</MESSAGE></ERROR></ERRORS> 

誰でも私がplsを理解するのを手伝ってくれますか. MSDN の例に従いましたが、まだ行き詰まっています。BC API サイトには、VB の例があまりありません (実際にはありません!)。

ありがとうございました

4

1 に答える 1

0

並びました!BC はこれを要求しました:

Set xmlHttp = CreateObject("MSXML2.ServerXMLHTTP.6.0")
xmlHttp.Open "GET", URL_Cat, UID, PWD
xmlHttp.setRequestHeader "Content-Type", "application/json"
xmlHttp.setRequestHeader "Authorization", "Basic " & Base64Encode(UID & ":" & PWD)
xmlHttp.send

ここから Base64Encode コードを取得しました。これが誰かに役立つことを願っています。

于 2013-10-10T02:56:09.507 に答える