Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
Celebration

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root

Avatar

1 badge earned

Collect

Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!

Challenges
Coins

Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.

Recognition
Ribbon

Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!

Leaderboard

Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,551,673
Community Members
 
Community Events
184
Community Groups

is there any API given by bitbucket for access token generation?

Hi All,
I want to use an API for the access token generation through the java application for accessing, creating and updating repositories, workspaces of the bitbucket account.
but i do not find any api's for this purpose. Is there any API's for achieving this functionality?
please let me know if anybody knows about this.

thanks in advance!

1 answer

0 votes
Oday Rafeh
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
Mar 21, 2023

Hi, @srinath reddy, I was reaching out yesterday to find something I can help you with and here is what I found : 

To generate an access token, you can make a POST request to the /site/oauth2/access_token endpoint with the appropriate parameters. You will need to provide the client ID, client secret, and grant type as parameters in the request body.

An example of how to generate an access token using the Bitbucket REST API in Java:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;

public class AccessTokenGenerator {
public static void main(String[] args) {
try {
String clientId = "your_client_id";
String clientSecret = "your_client_secret";
String grantType = "client_credentials";

String urlParameters = "grant_type=" + URLEncoder.encode(grantType, StandardCharsets.UTF_8) +
"&client_id=" + URLEncoder.encode(clientId, StandardCharsets.UTF_8) +
"&client_secret=" + URLEncoder.encode(clientSecret, StandardCharsets.UTF_8);

byte[] postData = urlParameters.getBytes(StandardCharsets.UTF_8);
int postDataLength = postData.length;

String requestURL = "https://bitbucket.org/site/oauth2/access_token";
URL url = new URL(requestURL);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();

connection.setDoOutput(true);
connection.setInstanceFollowRedirects(false);
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
connection.setRequestProperty("charset", "utf-8");
connection.setRequestProperty("Content-Length", Integer.toString(postDataLength));
connection.setUseCaches(false);

connection.getOutputStream().write(postData);

BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String inputLine;
StringBuilder response = new StringBuilder();

while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}

in.close();
connection.disconnect();

String accessToken = response.toString();
System.out.println(accessToken);

} catch (Exception e) {
e.printStackTrace();
}
}
}

replace "your_client_id" and "your_client_secret" with your actual client ID and client secret.

Hops this going to help you 

Hi @Oday Rafeh 
thanks for the reply,

the code provided by you is giving the 400 error , 
i tried again by checking the credentials and its not working.

suggest me if you know anything further,

thank you for the reply.

Oday Rafeh
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
Mar 21, 2023

@srinath reddy 

Mmm because you're getting a 400 error while trying to generate an access token using the Bitbucket REST API, it usually means that the request parameters are not correct or there's an issue with your Bitbucket credentials.

Here are some things you can try:

Double-check that you're using the correct client ID and client secret. You can find these values in your Bitbucket account settings.


Make sure that the grant type is set to "client_credentials".


Verify that you're making a POST request to the correct endpoint: /site/oauth2/access_token


Check if there are any special characters in your client ID or client secret that may be causing issues. If there are, try encoding them before sending the request.

I hope this helps! and if not 

Then maybe the support can help you out. 



Hi @Oday Rafeh 
I tried checking credentials and grant type also.

but still getting the 400 error,

you checked the above code in your system?

are you getting the access token?

please let me know if you are getting the access token.

thankyou.

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
CLOUD
PERMISSIONS LEVEL
Site Admin
TAGS
AUG Leaders

Atlassian Community Events