Sample code for 30+ languages & platforms
PureBasic

Twitter - Get Single Tweet (by ID)

Demonstrates how to fetch a single tweet given an ID. This example uses application-only OAuth2 authentication.

This example is deprecated and no longer valid.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkJsonObject.pb"
IncludeFile "CkHttp.pb"

Procedure ChilkatExample()

    ; It requires the Chilkat API to have been previously unlocked.
    ; See Global Unlock Sample for sample code.

    ; This application uses application-only authentication.
    ; It uses the token previously obtained as shown in this example:  Twitter Application-Only Authentication

    http.i = CkHttp::ckCreate()
    If http.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    ; Set the OAuth2 token previously obtained via application-only authentication.
    CkHttp::setCkAuthToken(http, "TWITTER_OAUTH2_TOKEN")

    ; A sample GET looks like this:
    ; GET https://api.twitter.com/1.1/statuses/show.json?id=210462857140252672
    url.s = "https://api.twitter.com/1.1/statuses/show.json?id=TWEET_ID"
    strJson.s = CkHttp::ckQuickGetStr(http,url)
    If CkHttp::ckLastMethodSuccess(http) <> 1
        Debug CkHttp::ckLastErrorText(http)
        CkHttp::ckDispose(http)
        ProcedureReturn
    EndIf

    json.i = CkJsonObject::ckCreate()
    If json.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkJsonObject::setCkEmitCompact(json, 0)
    CkJsonObject::ckLoad(json,strJson)

    Debug CkJsonObject::ckEmit(json)

    ; A sample JSON response is shown below.
    ; To generate JSON parsing code, paste the sample JSON response into
    ; Generate JSON Parsing Source Code

    ; {
    ;   "created_at": "Mon Aug 27 23:35:55 +0000 2018",
    ;   "id": 1034223013313404928,
    ;   "id_str": "1034223013313404928",
    ;   "text": "The v9.5.0.75 release is underway.  Alpine Linux and OpenBSD will be included in this release..",
    ;   "truncated": false,
    ;   "entities": {
    ;     "hashtags": [
    ;     ],
    ;     "symbols": [
    ;     ],
    ;     "user_mentions": [
    ;     ],
    ;     "urls": [
    ;     ]
    ;   },
    ;   "source": "\u003ca href=\"http:\/\/twitter.com\" rel=\"nofollow\"\u003eTwitter Web Client\u003c\/a\u003e",
    ;   "in_reply_to_status_id": null,
    ;   "in_reply_to_status_id_str": null,
    ;   "in_reply_to_user_id": null,
    ;   "in_reply_to_user_id_str": null,
    ;   "in_reply_to_screen_name": null,
    ;   "user": {
    ;     "id": 85647455,
    ;     "id_str": "85647455",
    ;     "name": "Chilkat Software",
    ;     "screen_name": "chilkatsoft",
    ;     "location": "",
    ;     "description": "",
    ;     "url": "https:\/\/t.co\/hSTR4sOuis",
    ;     "entities": {
    ;       "url": {
    ;         "urls": [
    ;           {
    ;             "url": "https:\/\/t.co\/hSTR4sOuis",
    ;             "expanded_url": "http:\/\/www.chilkatsoft.com",
    ;             "display_url": "chilkatsoft.com",
    ;             "indices": [
    ;               0,
    ;               23
    ;             ]
    ;           }
    ;         ]
    ;       },
    ;       "description": {
    ;         "urls": [
    ;         ]
    ;       }
    ;     },
    ;     "protected": false,
    ;     "followers_count": 112,
    ;     "friends_count": 0,
    ;     "listed_count": 4,
    ;     "created_at": "Tue Oct 27 19:56:13 +0000 2009",
    ;     "favourites_count": 0,
    ;     "utc_offset": null,
    ;     "time_zone": null,
    ;     "geo_enabled": false,
    ;     "verified": false,
    ;     "statuses_count": 62,
    ;     "lang": "en",
    ;     "contributors_enabled": false,
    ;     "is_translator": false,
    ;     "is_translation_enabled": false,
    ;     "profile_background_color": "C0DEED",
    ;     "profile_background_image_url": "http:\/\/abs.twimg.com\/images\/themes\/theme1\/bg.png",
    ;     "profile_background_image_url_https": "https:\/\/abs.twimg.com\/images\/themes\/theme1\/bg.png",
    ;     "profile_background_tile": false,
    ;     "profile_image_url": "http:\/\/pbs.twimg.com\/profile_images\/785893001012744195\/clLweDSg_normal.jpg",
    ;     "profile_image_url_https": "https:\/\/pbs.twimg.com\/profile_images\/785893001012744195\/clLweDSg_normal.jpg",
    ;     "profile_link_color": "1DA1F2",
    ;     "profile_sidebar_border_color": "C0DEED",
    ;     "profile_sidebar_fill_color": "DDEEF6",
    ;     "profile_text_color": "333333",
    ;     "profile_use_background_image": true,
    ;     "has_extended_profile": false,
    ;     "default_profile": true,
    ;     "default_profile_image": false,
    ;     "following": null,
    ;     "follow_request_sent": null,
    ;     "notifications": null,
    ;     "translator_type": "none"
    ;   },
    ;   "geo": null,
    ;   "coordinates": null,
    ;   "place": null,
    ;   "contributors": null,
    ;   "is_quote_status": false,
    ;   "retweet_count": 0,
    ;   "favorite_count": 2,
    ;   "favorited": false,
    ;   "retweeted": false,
    ;   "lang": "en"
    ; }
    ; 


    CkHttp::ckDispose(http)
    CkJsonObject::ckDispose(json)


    ProcedureReturn
EndProcedure