【问题标题】:square Connect API Batchsquare Connect API 批处理
【发布时间】:2014-06-04 03:18:31
【问题描述】:

我正在使用 .NET 列出来自我的 Square 帐户的付款。

我能够获得付款列表,但要获得描述字段,我必须更深入一层并为每次付款进行 http 端点调用。这很耗时。

问题:谁能给我提供一个用 Visual C# 或 Java 编写的示例来进行批量调用以检索付款(使用多个付款 ID)?

非常感谢您的帮助。

谢谢,

普拉尚特

@Andrew - 这是我正在使用的,我只是不确定如何为批量付款检索添加标题。

字符串 res = string.Empty;

        string qs = string.Empty;
        foreach (string s in parameters.Keys)
        {
            if (qs == string.Empty)
                qs = "?";
            else
                qs += "&";
            qs += s + "=" + parameters[s];
        }

        HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(_connectUrl + "/" + command + qs); ///
        request.Proxy = null;
        request.Headers.Add("Authorization", "Bearer " + _accessToken);// ");
        request.ContentType = "application/json";

        request.Method = method; // "GET";


        try { HttpWebResponse responseGet = (HttpWebResponse)request.GetResponse(); 
        StreamReader reader = new StreamReader(responseGet.GetResponseStream());
        StringBuilder output = new StringBuilder();
        output.Append(reader.ReadToEnd());
        responseGet.Close();

        request = null;

        return output.ToString();
        }
        catch (Exception exp)

【问题讨论】:

  • 也许可以给出一个代码示例来说明您到目前为止所尝试的内容。
  • 请检查上面的代码。谢谢

标签: square-connect


【解决方案1】:

看起来我已经能够回答我自己的问题了。

我们需要能够将以下 POST 发送到 HTTP 端点

{"requests":[{"method":"GET","re​​lative_path":"/v1/me/payments/","access_token":"XXXX","re​​quest_id":"1" },{"method":"GET","re​​lative_path":"/v1/me/payments/","access_token":"XXXX","re​​quest_id":"2"}]}

.NET 中的以下代码实现了上述功能

        //Convert the body of request into a byte array
        byte[] byteArray = Encoding.UTF8.GetBytes(body);

        //Set the length
        request.ContentLength = byteArray.Length;

        //Write the body to the request by using a datastream
        //This line never returns....
        Stream datastream = request.GetRequestStream();
        datastream.Write(byteArray, 0, byteArray.Length);
        datastream.Close();

仅此而已。

希望这有助于任何准备使用批处理模式的人。

谢谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多