title: Basecamp 3 API - basic projects.json call
body: <p>I'm a Python user, beginner level. I'm trying to follow this instruction on Basecamp 3. Documentation: <a href="https://github.com/basecamp/bc3-api" rel="nofollow noreferrer">https://github.com/basecamp/bc3-api</a> </p>
  
  <p>I've successfully gone through the authorization step and was able to retrieve the access token (which consists of 3 keys: access_token, expires_in and refresh_token. </p>
  
  <p>Now i'm trying to pull some actual data from Basecamp, and the most basic call is to <a href="https://3.basecampapi.com/999999999/projects.json" rel="nofollow noreferrer">https://3.basecampapi.com/999999999/projects.json</a> (with 99999999 being my account number, which I have).</p>
  
  <p>The instruction has an example in curl: curl -H "Authorization: Bearer $ACCESS_TOKEN" -H 'User-Agent: MyApp (yourname@example.com)' <a href="https://3.basecampapi.com/999999999/projects.json" rel="nofollow noreferrer">https://3.basecampapi.com/999999999/projects.json</a></p>
  
  <p>But I cannot translate this to Python. I tried many methods of passing the keys to the header call but none works. Can anyone help me out? </p>
  
  <p>Code:</p>
  
  <pre><code>url = "3.basecampapi.com/99999999/projects.json" 
  headers = {'Content-Type': 'application/json',
             'User-Agent': 'MyApp (myemail@gmail.com)',
             'access_token': 'Access_Token_String',
             'expires_in': '1209600',
             'refresh_token': 'Refresh_token_string'}
  result = requests.post(url, headers=headers)
  </code></pre>