我相信,尽管遇到了障碍,但我仍在思考这个问题。我有一个POST输入,用于单个项目/ LFFormSectionLabel *sectionLabel = [LFFormSectionLabel new];
[sectionLabel addValue:header forSEL:@selector(setText:)];
[vc addSection:sectionLabel];
NSMutableArray *options = [[NSMutableArray alloc] init];
for (NSDictionary *item in self.surveydata) {
NSString *addressfield = [item objectForKey:@"address_option"];
[options addObject:addressfield];
}
for (int i = 0; i < options.count; i++) {
NSString *field = [options objectAtIndex:i];
LFFormRowTextField *rowTextField = [LFFormRowTextField new];
rowTextField.key = @"name";
[rowTextField addValue:field forSEL:@selector(setPlaceholder:)];
[sectionLabel addRow:rowTextField];
NSLog(@"FIELD: %@", field);
}
使用
我需要做的是在ItemID的列表上重复此调用
类似<ItemID>
就地ItemIds = ["222183515503", "222183515523","222183515533"]
以下是我目前所拥有的。
<ItemID>=ItemIds</ItemID>
答案 0 :(得分:0)
使用字符串插值来传递当前项目ID,并循环处理请求。以下是使用f字符串(Python 3.6+)和.format方法的示例。
Python 3.6 +
import requests
item_ids = ["222183515503", "222183515523","222183515533"]
url = "https://api.ebay.com/ws/api.dll"
def payload(item):
payload = f"""
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n
<GetItemRequest xmlns=\"urn:ebay:apis:eBLBaseComponents\">\n
<RequesterCredentials>\n
<eBayAuthToken>TOKEN</eBayAuthToken>\n
</RequesterCredentials>\n
<IncludeItemSpecifics>TRUE</IncludeItemSpecifics>\n
<DetailLevel>ReturnAll</DetailLevel>\n
<ItemID>{item}</ItemID>\n
</GetItemRequest>"
"""
return payload
headers = {
'Content-Type': "text/xml",
'X-EBAY-API-COMPATIBILITY-LEVEL': "1085",
'X-EBAY-API-SITEID': "0",
'X-EBAY-API-CALL-NAME': "GetItem"
}
for item in item_ids:
response = requests.request("POST", url, data=payload(item), headers=headers)
print(response.text)
Python 2和3
import requests
item_ids = ["222183515503", "222183515523","222183515533"]
url = "https://api.ebay.com/ws/api.dll"
def payload(item):
payload = """
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n
<GetItemRequest xmlns=\"urn:ebay:apis:eBLBaseComponents\">\n
<RequesterCredentials>\n
<eBayAuthToken>TOKEN</eBayAuthToken>\n
</RequesterCredentials>\n
<IncludeItemSpecifics>TRUE</IncludeItemSpecifics>\n
<DetailLevel>ReturnAll</DetailLevel>\n
<ItemID>{item}</ItemID>\n
</GetItemRequest>"
""".format(item=item)
return payload
headers = {
'Content-Type': "text/xml",
'X-EBAY-API-COMPATIBILITY-LEVEL': "1085",
'X-EBAY-API-SITEID': "0",
'X-EBAY-API-CALL-NAME': "GetItem"
}
for item in item_ids:
response = requests.request("POST", url, data=payload(item), headers=headers)
print(response.text)