codeigniter는 기본적으로 restful 형식의 url을 사용한다. 그러나 때로는 다른 제3의 웹사이트와의 연결사용시 불가피하게 query string을 사용해야할때가 발생한다. 이때 codeigniter가 제대로 인식하지 못해 문제가 발생한다. (예를 들어 twitter의 abraham library를 사용시 twitter는 callback 함수에 token을 query string으로 되돌려 준다.)

-첫번째 발생 문제는 unallowed character 였다.예를 들어 query string안의 특수문자를 인식하지 못하는 문제가 발생했다.이때는 query string을 확인하고 config화일의 다음항목에 “ config[‘permitted_uri_chars’] = ‘a-z 0-9~%.:_-’; ” 특수문자를 추가 시켜준다.

-두번째 발생하는 page not found 문제는 일단 hosting server 에서 url 을 어떻게 처리하는지 print_r($_SERVER)를 통해 확인한다. 그리고 config.php 황일에서 “ $config[‘uri_protocol’] = ‘AUTO’;  "의 내용을 변경하여 준다. 그리고 query string을 사용하는 controller 안의 function 안에 " parse_str(substr(strrchr($_SERVER[‘REQUEST_URI’], ”?“), 1), $_GET); "를  넣어준다. 

– 세번째 발생한 문제 query string의 parameter 시작부분앞에 / 문자를 넣어야 되는지 확인한다.

* twitter에서 친구가 아닌 경우라도 @유저이름 의 형식을 통해 트윗을 만들수 있으며 당사자의 경우에게 알림 이벤트가 전달되게 된다. 그러나 direct message는 친구(맞팔)이 되지 않은 경우 전달되지 않는다.

* twitter api를 이용하는 경우 following other user, sending direct message, sending tweet ( @유저이름 )의 경우에는 user의  screen name(문자형태)으로도 작업이 가능하다.

* 때때로 twitter api를 이용하는 작업에서 user_id (숫자형태) 를 사용해야하는 경우가 있다. 예를 들어 get friendships/incoming 작업의 경우 user_id가 필요하다. 이때 user_id 는 아래와 같이 얻을수 있다.

There are several options:

1) In the last step of the OAuth authentication, you get the user_id back. If it’s too late for that, check 2)

2) The current format of the access tokens has the user_id as prefix, you could extract it without needing any call. The disadvantage is that this is undocumented and may change, so you may prefer 3)

3) Make a call to https://dev.twitter.com/docs/api/1/get/account/verify_credentials , which will return the user data for the authenticated user. This is an authenticated call that counts against your rate limit.

(get account/verify_credentials)

    3번째 방법의 경우 return 값은 obj 이며 property ‘id’ 값을 통해 user_id값을 구할수 있다. (본래 return 값은 json 인데 abraham library 때문인지 보통 obj 처럼 사용 가능하다. )

숫자로 본 트위터

twitter 는 하루에 250개의 dm(direct message)만을 허용한다. 또 1000개의 twit을 허용하며 하나의 twit은 140자 이내이여야하며 dm의 경우는 160자 이다. 스페이스도 하나의 character로 인정된다.

Twitter decided back in December to increase the length of t.co wrapped links from 20 to 22 characters if you use a non-https link. It’s even worse for a https link as Twitter now steals away 23 characters (it was 21).

So while you still have 140 characters to play with initially, if you want to link to something you’ve effectively only got 117/118 characters depending on the URL that gets t.co wrapped.