我已对我的请求进行了身份验证,并且我正在尝试在沙箱中创建一个客户,但我总是收到错误500.
这是请求:
self.cred = OAuth2Credentials(access_token = access_token, client_id = client_id,
client_secret = client_secret, refresh_token = refresh_token,
token_expiry = None, token_uri ="https://accounts.google.com/o/oauth2/token",
user_agent = None, id_token = None)
self.client = httplib2.Http()
self.cred.refresh(self.client)
self.client = self.cred.authorize(self.client)
payload = {
"kind": "reseller#customer",
"customerId": "example.com",
"customerDomain": "example.com",
"postalAddress": {
"kind": "customers#address",
"contactName": "John Doe",
"organizationName": "Example Inc",
"locality": "Mountain View",
"region": "California",
"postalCode": "94043",
"countryCode": "US",
"addressLine1": "1600 Amphitheatre Parkway",
"addressLine2": "Mountain View",
"addressLine3": "California"
},
"phoneNumber": "+1 650-253-0000",
"alternateEmail": "alternateEmail@google.com"
}
paytext = json.dumps(payload)
da = self.client.request(method = 'POST', uri = "https://www.googleapis.com/apps/reseller/v1sandbox/customers/", body =paytext)
这是错误:
({'status':'500','content-length':'52','x-xss-protection':'1; mode = block','x-content-type-options':' nosniff','expires':'星期四,2013年2月21日11:09:51 GMT','服务器':'GSE',' - 内容编码':'gzip','缓存控制':'私有,最大-age = 0','date':'星期四,2013年2月21日11:09:51 GMT','x-frame-options':'SAMEORIGIN','content-type':'application / json; charset = UTF -8'},'{\ n“错误”:{\ n“代码”:500,\ n“消息”:null \ n} \ n} \ n \ n'\ n')
还有其他办法吗?
编辑:
我也试过这个发现:
from apiclient.discovery import build
import httplib2
http = httplib2.Http()
from oauth2client.client import OAuth2Credentials
cred = OAuth2Credentials(access_token = access_token, client_id = client_id,
client_secret = client_secret, refresh_token = refresh_token,
token_expiry = None, token_uri ="https://accounts.google.com/o/oauth2/token" ,
user_agent = None, id_token = None)
client = httplib2.Http()
cred.refresh(client)
client = cred.authorize(client)
api = build(serviceName='reseller',version='v1sandbox',http=client)
api.customers().insert(body=payload).execute()
也有错误。
答案 0 :(得分:0)
我认为您的问题与问题跟踪器中最近的错误有关。
http://code.google.com/a/google.com/p/apps-api-issues/issues/detail?id=3346
答案 1 :(得分:0)
我认为他们已经修复了他们的错误,但它似乎没有被标记为已修复。我们能够创建一个沙盒客户。这是Ruby中的要点:
def self.create
response = client.execute(
:api_method => service.customers.insert,
:body_object => {
:customerDomain => domain,
:alternateEmail => alternate_email,
:postalAddress => {
:contactName => contact_name,
:organizationName => organization_name,
:countryCode => two_letter_country_code,
:region => region,
:addressLine1 => street_address,
:locality => city,
:postalCode => zip
}
},
:authorization => authorization )
GoogleCustomer.new(response.data)
end
这似乎是创建客户所需的最低限度信息。
这假设您已经处理了授权。需要注意的一点是:如果您使用的是服务帐户,则需要模拟有权创建客户的用户。