나는 이것에 초보자이다. 그러나 나는 cURL을 사용하여 GET 요청을 수행하여 사용자 트윗을 다시 가져 오려고합니다.Twitter oauth with PHP with cURL
나는 인증 할 수있었습니다. 그러나 나는 데이터를 얻는 방법을 찾을 수 없다. 나는 내 localhost에서 일하고있다.
기본 인증서를 추가하려고했지만 작동하지 않습니다.
내 사이트의 SSL 인증서를 구매해야합니까? SSL 인증서를 구입하지 않은 다른 사이트에서 트위터 피드를 보았으므로 어떻게하는지 모릅니다.
나는 이것을 Twitter 문서에서 보았습니다. 언급 된 파일은 내가 구입할 수있는 파일입니까?
curl_setopt($connection, CURLOPT_SSL_VERIFYPEER, True);
curl_setopt($connection, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($connection, CURLOPT_CAINFO, "path:/ca-bundle.crt");
이 내가있는 CURLOPT_URL
섹션을 넣고 서버로부터 긍정적 인 반응을 얻었다 전에 내 컬 코드, 그것은 일입니다 :
$url = "https://api.twitter.com/oauth2/token";
$headers = array(
"POST /oauth2/token HTTP/1.1",
"Host: api.twitter.com",
"User-Agent: my Twitter App v.1",
"Authorization: Basic ".$encoded."",
"Content-Type: application/x-www-form-urlencoded;charset=UTF-8"
);
$ch = curl_init();
curl_setopt ($ch, CURLOPT_CAINFO, "cacert.pem");
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "grant_type=client_credentials");
curl_setopt($ch, CURLOPT_URL, "http://twitter.com/statuses/user_timeline/".$username.".json?count=".$num_tweets);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$header = curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$output = curl_exec($ch);
curl_close($ch);
편집 : 문제는 위의 코드가, 내가 틀린 일을하고 있지만 확실하지 않다는 것을 알고 있습니다. 어쨌든, 여기에 원래 코드를 내가 일을 확인하고 예상 된 결과를 다시 서버에서 얻었습니다. 그래서 다음 단계는 타임 라인에서 사용자의 트윗을 요청하는 것입니다.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "grant_type=client_credentials");
$header = curl_setopt($ch, CURLOPT_HEADER, 1);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
http://stackoverflow.com/questions/18971983/curl-requires-curlpt-ssl-verifypeer-false를 확인하십시오. SSL 연결은 cURL과 Twitter 사이에 필요하며 서버와 방문자 사이에는 필요하지 않습니다. (PEM은 다음 위치에 있습니다. http://curl.haxx.se/ca/cacert.pem) –