I am using REST API to connect to BitBucket. I call into https://bitbucket.org/site/oauth2/access_token passing to it Consumer Key & Secret and it returns me access token. I then use that access token (as bearer) and pass it to my next API call https://api.bitbucket.org/1.0/users/avalidemail@mydomain.com
The returned JSON contains user name, etc but the repositories array is empty.
Where could I be going wrong?
My code is in Ruby:
def GetUserAccess(userEmail) url = "https://bitbucket.org/site/oauth2/access_token" reqObj = RestClient::Resource.new url, strAuth_Consumer_Key, strAuth_Consumer_Secret responseData = reqObj.post "grant_type=client_credentials" puts responseData #Returns access_token, scopes, expires_in & refresh_token. #scopes = "pipeline:write webhook snippet:write wiki issue:write pullrequest:write repository:admin project:write team:write account:write" accessToken = 'Bearer ' + JSON.parse(responseData)["access_token"] headers = {Authorization: accessToken, accept: :json} url = "https://api.bitbucket.org/1.0/users/#{userEmail}" output = "BitBucket:".ljust(20) begin responseData = RestClient.get(url,headers) puts responseData #Returns User details which means user was found, but the repositories array is empty for all users. jsonObj = JSON.parse(responseData) output += "Has Access To Repos " jsonObj["repositories"].each do |repo| output += repo["name"] + ", " end rescue RestClient::NotFound, TypeError => e output += "No Access" end puts output end