Hey Brian,

I don't know enough about the internals of Abraham's library to know how it
handles UTF-8 characters when generating POST bodies or signature base
strings, but here's an example of successfully tweeting with the UTF-8
ellipsis:

I'm pretty surprised at how the status is encoded in the base string in this
example (kind of cargo culting it), but there may also be other alternate
and valid ways of specifying it. Definitely not intuitive. Here's the
published status: http://twitter.com/oauth_dancer/status/16952668541

URL
http://api.twitter.com/1/statuses/update.xml

POST body
status=Unicode+ellipsis+are+fun:+…

Signature Base String
POST&http%3A%2F%2Fapi.twitter.com
%2F1%2Fstatuses%2Fupdate.xml&oauth_consumer_key%3Dri8JxYK2ddwSV5xIUfNNvQ%26oauth_nonce%3D965MjJOs4kef7MBA8QggxIJHHzyRbMlnQ3WTB7VNV0%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1277405988%26oauth_token%3D119476949-gF0B5O1Wwa2UqqIwopAhQtQVTzmfSIOSiHQS7Vf8%26oauth_version%3D1.0%26status%3DUnicode%2520ellipsis%2520are%2520fun%253A%2520%25E2%2580%25A6

Authorization Header
OAuth oauth_nonce="LnME61XWvwjp3ORhhLd5MMEb9EDO1DeYIsb7HfhoeE4",
oauth_signature_method="HMAC-SHA1", oauth_timestamp="1277394877",
oauth_consumer_key="ri8JxYK2ddwSV5xIUfNNvQ",
oauth_token="819797-torCkTs0XK7H2Y2i1ee5iofqkMC4p7aayeEXRTmlw",
oauth_signature="UKwl3lVQygmKAMsIffFCWlLQaeg%3D", oauth_version="1.0"

Which returns a XML status representation with the ellipsis:

<text>Unicode ellipsis are fun: &#8230;</text>

On Thu, Jun 24, 2010 at 11:48 AM, Bryan <bryan.p...@gmail.com> wrote:

> Certainly:
>
> <?php
>
> require_once('twitteroauth.php');
>
> $message = "This is an @test … "; // utf(ellipsis)
> //$message = "This is an @test ... "; // ascii(three periods)
> echo $message."<br />";
>
> $message = strlen($message) > 140 ? substr($message,0,140) : $message;
>
> $connection = new TwitterOAuth("X", "X", "X", "X");
> $status = $connection->post('statuses/update', array('status' =>
> $message));
> echo $connection->http_code == 200 ? "SUCCESS" : "FAIL";
>
> ?>
>
> As you can see, I'm using Abraham's oauth library and my sensitive
> data has been sanitized. Thanks again.
>
> On Jun 24, 12:19 pm, Matt Harris <thematthar...@twitter.com> wrote:
> > Hey Bryan,
> >
> > Can you share the code you are using to send the Tweet, and if possible
> the
> > post body sent by your code.
> >
> > Thanks,
> > Matt
> >
> >
> >
> >
> >
> > On Thu, Jun 24, 2010 at 10:06 AM, Bryan <bryan.p...@gmail.com> wrote:
> > > Great; thanks for the clarification Matt. But I'm still having trouble
> > > actually tweeting UTF-8 characters. If I tweet this:
> >
> > > "This is an @test … "
> >
> > > without quotes where you can see an actual ellipsis (single UTF-8
> > > character), I get a successful response code (200), but nothing is
> > > actually tweeted. If I tweet this:
> >
> > > "This is an @test ... "
> >
> > > without quotes where you can see just three dots, I get a successful
> > > response code (200), and the tweet is actually successful.
> >
> > > On Jun 23, 4:14 pm, themattharris <thematthar...@twitter.com> wrote:
> > > > To clarify the situation with UTF-8 characters.
> >
> > > > Special UTF-8 characters are treated the same as the standard
> > > > alphanumeric set, in that we will count each one as a single letter.
> > > > So a string like "wondering what's happening …" will be treated as 27
> > > > characters (without the quotes).
> >
> > > > When we receive a Tweet with UTF-8 characters in it we convert them
> > > > into their HTML entity representation to ensure consistency between
> > > > clients and reliable storage in the databases. This means, when you
> > > > query the API, you may notice the Tweet has more than 140 characters
> > > > in it. This is expected and is a result of the UTF-8 conversion.
> >
> > > > You can read more about how we count characters on the dev.twitter
> > > > site [1].
> >
> > > > Hope that answers your questions,
> > > > Matt
> >
> > > > 1.http://dev.twitter.com/pages/counting_characters
> >
> > > > On Jun 11, 3:18 pm, Sam Ramji <sra...@apigee.com> wrote:
> >
> > > > > We've built a free tool with similar capabilities but including
> OAuth
> > > > > authentication and contextual links to the full Twitter API, and no
> > > > > login required in order to save API calls.
> >
> > > > > You can see the same lat/long query here:
> >
> > > > >
> http://app.apigee.com/console/5ffbfabd-04c0-4802-a71d-542c23a1ec0e/re.
> > > ..
> >
> > > > > Hope this is helpful - we are seeking feedback on the tool if you
> have
> > > > > any.
> >
> > > > > Thanks,
> >
> > > > > Sam
> >
> > > > > On Jun 11, 9:48 am, Bryan <bryan.p...@gmail.com> wrote:
> >
> > > > > > Hey Abraham. The above example is dated. My point is appending
> > > > > > max_result=1 onto any verified result results in a 404:
> >
> > >http://hurl.it/hurls/08a6b684b494cab6138754d7b7470d9895968d59/88bbdc8.
> ..
> >
> > > > > > is okay, but with max_results=1:
> >
> > >http://hurl.it/hurls/df8773b96e453cfd5426123c3ba4354fc2d96769/6d952ea.
> ..
> >
> > > > > > returns a 404
> >
> > > > > > Thanks for the link; that's a very useful tool!
> >
> > > > > > On Jun 11, 11:40 am, Abraham Williams <4bra...@gmail.com> wrote:
> >
> > > > > > > The lat/long you are passing to the API are in the Yellow Sea
> so
> > > Twitter is
> > > > > > > 404ing as it does not have any places near there.
> >
> > >http://hurl.it/hurls/db27e3e9bce56f7f9a8209b935af6a25d5fa5677/2775b26.
> ..
> >
> > > > > > > Abraham
> > > > > > > -------------
> > > > > > > Abraham Williams | Hacker Advocate |http://abrah.am
> > > > > > > @abraham |http://projects.abrah.am|http://blog.abrah.am
> > > > > > > This email is: [ ] shareable [x] ask first [ ] private.
> >
> > > > > > > On Fri, Jun 11, 2010 at 07:28, Bryan <bryan.p...@gmail.com>
> wrote:
> > > > > > > > Matt--
> >
> > > > > > > > Okay thanks for the reply. I'm building a news aggregator so
> the
> > > goal
> > > > > > > > was to enter the location manually. Still, I'm having trouble
> > > with the
> > > > > > > > geo-coding method. I'm using Abraham's php library and I do
> the
> > > > > > > > following:
> >
> > > > > > > >        $location = $connection->get('geo/reverse_geocode',
> > > array('lat' =>
> > > > > > > > '37.75' , 'long' => '122.68'));
> > > > > > > >        echo $connection->http_code;
> >
> > > > > > > > Which returns 404. $location->id is empty. Any thoughts as to
> > > what I'm
> > > > > > > > doing wrong?
> >
> > > > > > > > On Jun 11, 9:21 am, Matt Harris <thematthar...@twitter.com>
> > > wrote:
> > > > > > > > > Hey Bryan,
> >
> > > > > > > > > Status updates only accept lat/long or place_id. There
> isn't a
> > > way of
> > > > > > > > > providing plain text locations for these fields. If you
> wish to
> > > display a
> > > > > > > > > textual representation of where someone is on your app you
> > > would need to
> > > > > > > > > carry out a reverse geocode first.
> >
> > > > > > > > > I don't know the method you are using to obtain the
> location
> > > but
> > > > > > > > generally
> > > > > > > > > we see developers use the lat/long returned by the browser
> or
> > > device.
> >
> > > > > > > > > One thing that might be useful to know is that we perform a
> > > reverse
> > > > > > > > lookup
> > > > > > > > > on the lat/long when we display the tweet, converting it to
> > > some textual
> > > > > > > > > description like "SoMa, San Francisco", or "from here" as
> > > appropriate.
> >
> > > > > > > > > Hope that answers your question,
> > > > > > > > > Matt
> >
> > > > > > > > > On Fri, Jun 11, 2010 at 6:41 AM, Bryan <
> bryan.p...@gmail.com>
> > > wrote:
> > > > > > > > > > Hey everyone, is there a way to geo-tweet with the API
> > > without knowing
> > > > > > > > > > the Lat/Long? In other words, can I say "San Francisco,
> CA"
> > > or search
> > > > > > > > > > for valid place_id's with this name? I'm trying to make
> my
> > > user
> > > > > > > > > > interface as user-friendly as possible, and asking for
> > > lat/long for my
> > > > > > > > > > userbase won't work. I also want to rely on as few as
> API's
> > > as
> > > > > > > > > > possible, so I'd prefer not to run my name through
> Google's
> > > Map API
> > > > > > > > > > and then through the reverse geocode API on twitters.
> Thanks.
> >
> > > > > > > > > --
> >
> > > > > > > > > Matt Harris
> > > > > > > > > Developer Advocate, Twitterhttp://
> twitter.com/themattharris
> >
> > --
> >
> > Matt Harris
> > Developer Advocate, Twitterhttp://twitter.com/themattharris
>

Reply via email to