问题可能在于,按照HTTP标准的Python库首先发送未经身份验证的请求,然后仅在通过401重试应答后,才发送正确的凭据。如果Foursquare服务器不执行“完全标准的身份验证”,则库将不起作用。
尝试使用标头进行身份验证:
import urllib2, base64
request = urllib2.Request("http://api.foursquare.com/v1/user")
base64string = base64.b64encode('%s:%s' % (username, password))
request.add_header("Authorization", "Basic %s" % base64string)
result = urllib2.urlopen(request)