Box에서 파일을 만들 수없는 이유를 모르겠습니다. 주변 설정을 변경하려고했지만 여전히 해결책을 찾을 수 없습니다.Box API 액세스가 거부되었습니다. 폴더를 만들려고 할 때 사용 권한 문제가 발생했습니다.
#from django.shortcuts import render
from django.http import HttpResponse
from rauth import OAuth2Service
import json
# Create your views here.
def access_box(request):
CLIENT_ID = 'xxx'
CLIENT_SECRET = 'xxx'
box_storage = OAuth2Service(
name='Box',
client_id=CLIENT_ID,
client_secret=CLIENT_SECRET,
authorize_url='https://www.box.com/api/oauth2/authorize',
access_token_url='https://www.box.com/api/oauth2/token',
base_url='https://www.box.com/'
)
redirect_uri = 'http://127.0.0.1:8000/access-box/'
params = {
'redirect_uri': redirect_uri,
'response_type': 'code',
}
url = box_storage.get_authorize_url(**params)
if request.GET:
if request.GET.get('code'):
code = request.GET.get('code')
data = {'code': code,
'grant_type': 'authorization_code',
'redirect_uri': redirect_uri,
}
payload = {
'name': 'testfolder',
'id': '0',
}
session = box_storage.get_auth_session(data=data, decoder=json.loads)
r = session.post('https://api.box.com/2.0/folders', params=payload)
print(r.url)
print(r.json())
#r = r.json()
#html = "<html><body>request available! authentication code: {0}<p>{1}</p></body></html>".format(code, r)
html = "<html><body>request available! authentication code: {0}</body></html>".format(code)
return HttpResponse(html)
else:
return HttpResponse("zilch!")
else:
html = "<html><body></h1>Allow rushdGYM access to Box.com</h1><p><a href='{0}'>Allow now</a></body></html>".format(url)
return HttpResponse(html)
이 내가 폴더 @ 상자를 만들려고받은 응답입니다 : 여기 내 장고의 뷰 파일 내부 코드입니다.
{u'status': 400, u'code': u'bad_request', u'request_id': u'2143252gdf3', u'context_info': {u'errors': [{u'reason': u'missing_parameter', u'message': u"'parent' is required", u'name': u'parent'}, {u'reason': u'missing_parameter', u'message': u"'name' is required", u'name': u'name'}]}, u'help_url': u'http://developers.box.com/docs/#errors', u'message': u'Bad Request', u'type': u'error'}
나를 올바른 방향으로 인도하기위한 지침이 있습니까?
당신은 아마 https://api.box.com에 기본 URL을 변경해야합니다 :
나는 단지이 변경했습니다. 인증 URL은 www.box.com이지만 모든 API 호출은 api.box.com으로 이동합니다. – Peter