찾다
백엔드 개발PHP 튜토리얼웨이보 애플리케이션--아크 티켓

웨이보 미니 애플리케이션

2012년, 전설적인 종말, 사실이든 거짓이든 어차피 노아의 방주 티켓은 있는데...

관객: http://endworld.sinaapp.com

——————————-

Weibo의 인증 메커니즘을 배우기 위해 작성된 sae 기반의 작은 애플리케이션입니다. GD를 많이 사용합니다. 기능

이제 간단한 학습 요약을 해보겠습니다

1. 먼저 애플리케이션을 만들고 앱키를 신청하세요

시나 웨이보: http://open.weibo.com

텐센트 커뮤니티: http://opensns.qq.com

텐센트 웨이보: http://open.t.qq.com

애플리케이션을 생성한 후 다음으로 갑니다. 관련 SDK를 다운로드하세요. 여기서는 PHP를 예로 들어 설명을 명확하게 작성했습니다.

Sina Weibo 구성 파일:

Tencent sdk: Mahuateng이 매우 고통스럽습니다. 파일을 직접 다운로드하십시오. 댓글이 있습니다.

3. 좋은 애플리케이션이 최고입니다. 중요한 것은 창의력, 상상력을 발휘하세요
Ark Ticket은 새로운 아이디어가 없는 모방품입니다. 간단한 소개만 하겠습니다
① 먼저 congfig.php 또는 appkey.php appkey에 적용된 appid와 appid를 입력합니다. , 그리고 콜백 주소를 구성합니다.
② 사용자 정보를 얻고, PHP의 gd 라이브러리를 사용하여 사용자 정보를 기반으로 해당 이미지를 생성합니다. 유형은 png입니다.그렇지 않으면 jpg입니다. 좀비 사용자일 경우 이미지 및 닉네임을 획득하지 못할 수 있습니다.
③ 시나의 애플리케이션이 온라인이 아닌 경우, 즉 심사에 실패한 경우에만 해당됩니다. 개발자 계정은 애플리케이션을 사용할 수 있고, 다른 사용자는 먼저 테스트할 수 있습니다. 애플리케이션 관리 백그라운드에 테스트 사용자를 추가하고, 테스트 사용자가 10명 이상인 사람만 검토를 통과할 수 있습니다. 리뷰는 여전히 통과하기 쉽습니다
⑤ 다른 사용자는 온라인이 아니더라도 Tencent의 애플리케이션을 정상적으로 사용할 수 있지만, 애플리케이션에서 주요 주제가 아닌 단어를 사용하지 마십시오
4. 아크 티켓 파일 설명
index.php 홈페이지 로그인 버튼 배치 페이지
ticket-hall.php 웨이보 콜백 페이지, 가이드 사용자는
ticket.php를 사용하여 콘텐츠를 생성하고 웨이보로 전송할 준비를 합니다. .
toweibo.php는 Weibo에 데이터를 제출합니다.
suc.php는 사용자에게 성공을 알립니다.

sdk 다운로드: http://helong.org/download001/weibosdk.7z


방주 페리 티켓 소스 코드: http://helong.org/download001/endworld.7z

@王香宇어린이 신발 질문, 설명은 다음과 같습니다:

이 프로그램은 SAE의 저장 및 기타 기능을 포함하므로 sae에만 적용됩니다...... 일반 공간에서는 직접 사용할 수 없습니다....


index.php 31행 header('위치: http://endworld.sinaapp.com/qticket-hall.php'); 웨이보 콜백 주소

qticket.php 16행, 141행도 같은 방법으로 관련 사진도 상대경로로 수정이 가능합니다. 그래서 절대 경로를 작성합니다

ticket.php imagejpeg($im,SAE_TMP_PATH.'linshi.jpg',100);//읽기 및 쓰기 방법: 임시 파일로 저장, 여기서 SAE_TMP_PATH는 SAE의 임시 파일입니다.

ticket.php line 156 $s->upload('2012',$userid.'.jpg',SAE_TMP_PATH.'linshi.jpg');//SAEstorage는 여기에서 사용됩니다. http:// apidoc.sinaapp.com/sae /SaeStorage.html#upload

개선이 필요한 부분이 있으면 편하게 소통해주세요

  1. session_start();
  2. include_once( 'config.php' );
  3. include_once( 'saetv2.ex.class.php' ) ;
  4. $c = new SaeTClientV2( WB_AKEY , WB_SKEY , $_SESSION['token']['access_token'] );
  5. ////////////
  6. //OAuth 인증 그 후, 인증된 사용자의 UID를 가져옵니다
  7. $uid_get = $c->get_uid();
  8. $uid = $uid_get['uid'];
  9. $user_message = $c -> show_user_by_id( $uid);//ID를 기준으로 사용자 등 기본 정보 가져오기
  10. //////////////////////
  11. //공개된 Weibo 정보의 사용자 목록 가져오기
  12. //user_timeline_by_id($uid,$page = 1,$count = 50,$since_id = 0,$max_id = 0,$feature = 0,$trim_user = 0 ,$base_app = 0 )
  13. //$page: 페이지 번호
  14. ///$count: 매번 반환되는 최대 레코드 수, 최대 200개의 레코드가 반환되며 기본값은 50입니다.
  15. //$uid: 사용자 UID 또는 Weibo 닉네임 지정
  16. //$since_id: 이 매개변수를 지정하면 Since_id보다 큰 ID를 가진 Weibo 메시지만 반환됩니다(즉, Since_id보다 늦게 게시된 Weibo 메시지). . 선택 과목.
  17. //$max_id: 이 매개변수를 지정하면 max_id 이하의 ID를 가진 현재 로그인된 사용자를 언급하는 Weibo 메시지가 반환됩니다. 선택 과목.
  18. //$base_app: 현재 애플리케이션을 기반으로 데이터를 가져올지 여부입니다. 1은 이 애플리케이션에서 Weibo를 제한한다는 것을 의미하고, 0은 제한이 없음을 의미합니다. 기본값은 0입니다.
  19. //$feature: 필터 유형 ID, 0: 전체, 1: 원본, 2: 사진, 3: 비디오, 4: 음악, 기본값은 0입니다.
  20. //$trim_user: 반환 값의 사용자 정보 스위치, 0: 전체 사용자 정보 반환, 1: 사용자 필드는 uid만 반환, 기본값은 0입니다.
  21. $ms = $c->user_timeline_by_id($uid); // 완료
  22. ///////////////////
  23. //사용자 가져오기 웨이보 정보 목록 공개
  24. //user_timeline_by_name ($screen_name,$page = 1,$count = 50,$since_id = 0,$max_id = 0,$feature = 0,$trim_user = 0,$base_app = 0)
  25. //$screen_name: 웨이보 닉네임, 주로 사용자 UID와 웨이보 닉네임이 동일하고 모호한 경우 이 매개변수를 사용하는 것이 좋습니다
  26. ?> 🎜>
  27. < ;html xmlns="http://www.w3.org/1999/xhtml">
  28. Sina Weibo V2 인터페이스 데모 프로그램-Powered by Sina App Engine
  29. =$user_message['screen_name']?>,안녕하세요!
  30. 새 Weibo 보내기

  31. ///// / /////////
  32. //Weibo 메시지를 게시합니다.
  33. //update ($status, $lat latitude, $long longitude, $annotations는 제3자가 array("a"=>"b", "c"=>"d"와 같은 데이터를 기록할 수 있도록 지원합니다) )) )
  34. if( isset($_REQUEST['text']) ) {
  35. $ret = $c->update( $_REQUEST['text'] ) //Weibo 보내기
  36. if ( isset ($ret['error_code']) && $ret['error_code'] > 0 ) {
  37. echo "

    전송 실패, 오류: {$ret['error_code']}:{ $ret[ 'error']}

    ";
  38. } else {
  39. echo "

    전송됨

    ";
  40. }
  41. }
  42. / ///////////////////////
  43. echo "
    ------웨이보에 사진 게시------ --- -
    ";
  44. //Weibo에 사진 게시, 사진//$status: Weibo 정보가 업데이트됩니다. 정보 내용은 한자 140자를 초과하지 않으며, 비어 있으면 400에러를 반환합니다.
  45. //$pic_path: 게시할 사진의 경로, url을 지원합니다. png/jpg/gif 형식만 지원됩니다.
  46. //$lat: 위도, 현재 Weibo 게시물의 지리적 위치, 유효한 범위는 북위를 나타내는 -90.0 ~ 90.0입니다. 선택 과목.
  47. //$long: 선택적 매개변수, 경도. 유효한 범위는 동경을 나타내는 -180.0~180.0입니다.선택사항
  48. $status='2012년 4월 23일 웨이보 테스트 테스트에 사진 게시 14:25:43';
  49. $pic_path='http://www.baidu.com/img/baidu_sylogo1.gif ';
  50. $ret13 = $c->upload($status,$pic_path,$lat,$long);
  51. if( isset($ret13['error_code']) && $ret13['error_code' ] > 0 ) {
  52. echo "

    Weibo에 사진을 게시하지 못했습니다. 오류: {$ret7['error_code']}:{$ret7['error']}

    ";
  53. } else {
  54. echo "

    웨이보에 사진이 성공적으로 게시되었습니다

    ";
  55. }
  56. ////////////////// // /
  57. echo "
    ---------사용자 팔로우---------
    ";
  58. //사용자 팔로우
  59. //uid에 따라 팔로우 : follow_by_id ($uid)
  60. $ret2 = $c->follow_by_name('tohelong');
  61. if ( isset($ret2['error_code']) && $ret2['error_code'] > 0 ) {
  62. echo "

    따라가지 못했습니다. 오류: {$ret2['error_code']}:{$ret2['error']}

    ";
  63. } else {
  64. echo "

    팔로우 성공

    ";
  65. }
  66. /////////////////
  67. //현재 로그인된 항목에 추가 in user 새 사용자 태그
  68. echo "
    ---------태그 추가-------
    ";
  69. $ret6 = $c->add_tags ( "tag2,tag3,tag4, 태그 테스트");;
  70. if( isset($ret6['error_code']) && $ret6['error_code'] > 0 ) {
  71. echo "

    ";

  72. } else {
  73. echo "

    추가 성공적으로 태그 지정했습니다

    ";
  74. }
  75. /////////////////////////
  76. echo "
    --- -----Weibo 메시지 수집---------
    ";
  77. //Weibo 메시지 수집
  78. $sid='3437771555685532';
  79. $ret7 = $ c->add_to_favorites ($sid);//$sid = 즐겨찾는 웨이보 ID
  80. if( isset($ret7['error_code']) && $ret7['error_code'] > 0 ) {
  81. echo "

    수집 실패, 오류: {$ret7['error_code']}:{$ret7['error']}

    ";
  82. } else {
  83. echo "< ;p>수집 성공";
  84. }
  85. ////////////////////////
  86. echo "
    ---------상호 팬 목록---------
    ";
  87. //상호 팬 목록
  88. $ret8 = $c-> 양측( $uid,1,50,0);
  89. //print_r($ret8);
  90. echo $ret8['users'][0]['location'];
  91. ////// ////////////////
  92. echo "
    ---------표현---------
    ";
  93. $ret9 = $c->emotions ($type = "face",$언어 = "cnname");
  94. //"face": 일반 표현, "ani": 마법 표현, "만화": 애니메이션 표현식
  95. //print_r($ret9);
  96. echo "웨이보 애플리케이션--아크 티켓";
  97. /////// ///////////////
  98. echo "
    ---------웨이보 댓글---------
    ";
  99. //웨이보 댓글
  100. $id='3437771555685532';//게시물 ID
  101. $comment='댓글 테스트 테스트';
  102. $ret10 = $c->send_comment($ id, $comment,$comment_ori=0);
  103. //$comment_ori: 웨이보에 댓글을 전달할 때 원래 웨이보에 댓글을 달지 여부, 0: 아니오, 1: 예, 기본값은 0
  104. if( isset( $ret10['error_code']) && $ret10['error_code'] > 0 ) {
  105. echo "

    댓글 실패, 오류: {$ret7['error_code']}:{$ret7 [' error']}

    ";
  106. } else {
  107. echo "

    댓글 성공

    ";
  108. }
  109. /////// / /////////////
  110. echo "
    ---------게시물 ID를 기준으로 Weibo 및 작성자 가져오기---------
    //ID를 기반으로 단일 Weibo 메시지 내용 가져오기
  111. $id='3437771555685532';//게시물 ID
  112. $ret11 = $c->show_status ($id);
  113. / /print_r($ret11);
  114. echo $ret11['text'];
  115. echo $ret11['user']['screen_name'];
  116. echo $ret11['user' ]['location'];
  117. ////////////////////
  118. echo "
    ---------얻을 사용자 이름 ID 정보 및 Weibo- --------
    ";
  119. //사용자 UID 또는 닉네임을 기반으로 사용자 정보를 가져옵니다. 또한 최신 Weibo를 반환합니다.
  120. //show_user_by_name ($screen_name)
  121. $ret12 = $c->show_user_by_id($uid);
  122. //print_r($ret12);
  123. echo $ret12['screen_name'];
  124. echo "웨이보 애플리케이션--아크 티켓";
  125. echo $ret12['status']['text'];
  126. ///// ///////////////
  127. echo "
    ----------------
    ";
  128. ? >
  129. =$item['id'];?> =$item['text'];?>=$item['source'];?>
  • 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    PHP 세션이 실패 할 수있는 몇 가지 일반적인 문제는 무엇입니까?PHP 세션이 실패 할 수있는 몇 가지 일반적인 문제는 무엇입니까?Apr 25, 2025 am 12:16 AM

    phpsession 실패 이유에는 구성 오류, 쿠키 문제 및 세션 만료가 포함됩니다. 1. 구성 오류 : 올바른 세션을 확인하고 설정합니다. 2. 쿠키 문제 : 쿠키가 올바르게 설정되어 있는지 확인하십시오. 3. 세션 만료 : 세션 시간을 연장하기 위해 세션을 조정합니다 .GC_MAXLIFETIME 값을 조정하십시오.

    PHP의 세션 관련 문제를 어떻게 디버그합니까?PHP의 세션 관련 문제를 어떻게 디버그합니까?Apr 25, 2025 am 12:12 AM

    PHP에서 세션 문제를 디버그하는 방법 : 1. 세션이 올바르게 시작되었는지 확인하십시오. 2. 세션 ID의 전달을 확인하십시오. 3. 세션 데이터의 저장 및 읽기를 확인하십시오. 4. 서버 구성을 확인하십시오. 세션 ID 및 데이터를 출력, 세션 파일 컨텐츠보기 등을 통해 세션 관련 문제를 효과적으로 진단하고 해결할 수 있습니다.

    session_start ()가 여러 번 호출되면 어떻게됩니까?session_start ()가 여러 번 호출되면 어떻게됩니까?Apr 25, 2025 am 12:06 AM

    Session_Start ()로 여러 통화를하면 경고 메시지와 가능한 데이터 덮어 쓰기가 발생합니다. 1) PHP는 세션이 시작되었다는 경고를 발행합니다. 2) 세션 데이터의 예상치 못한 덮어 쓰기를 유발할 수 있습니다. 3) Session_status ()를 사용하여 반복 통화를 피하기 위해 세션 상태를 확인하십시오.

    PHP에서 세션 수명을 어떻게 구성합니까?PHP에서 세션 수명을 어떻게 구성합니까?Apr 25, 2025 am 12:05 AM

    SESSION.GC_MAXLIFETIME 및 SESSION.COOKIE_LIFETIME을 설정하여 PHP에서 세션 수명을 구성 할 수 있습니다. 1) SESSION.GC_MAXLIFETIME 서버 측 세션 데이터의 생존 시간을 제어합니다. 2) 세션 .Cookie_Lifetime 클라이언트 쿠키의 수명주기를 제어합니다. 0으로 설정하면 브라우저가 닫히면 쿠키가 만료됩니다.

    세션을 저장하기 위해 데이터베이스를 사용하면 어떤 장점이 있습니까?세션을 저장하기 위해 데이터베이스를 사용하면 어떤 장점이 있습니까?Apr 24, 2025 am 12:16 AM

    데이터베이스 스토리지 세션 사용의 주요 장점에는 지속성, 확장 성 및 보안이 포함됩니다. 1. 지속성 : 서버가 다시 시작 되더라도 세션 데이터는 변경되지 않아도됩니다. 2. 확장 성 : 분산 시스템에 적용하여 세션 데이터가 여러 서버간에 동기화되도록합니다. 3. 보안 : 데이터베이스는 민감한 정보를 보호하기 위해 암호화 된 스토리지를 제공합니다.

    PHP에서 사용자 정의 세션 처리를 어떻게 구현합니까?PHP에서 사용자 정의 세션 처리를 어떻게 구현합니까?Apr 24, 2025 am 12:16 AM

    SessionHandlerInterface 인터페이스를 구현하여 PHP에서 사용자 정의 세션 처리 구현을 수행 할 수 있습니다. 특정 단계에는 다음이 포함됩니다. 1) CustomsessionHandler와 같은 SessionHandlerInterface를 구현하는 클래스 만들기; 2) 인터페이스의 방법 (예 : Open, Close, Read, Write, Despare, GC)의 수명주기 및 세션 데이터의 저장 방법을 정의하기 위해 방법을 다시 작성합니다. 3) PHP 스크립트에 사용자 정의 세션 프로세서를 등록하고 세션을 시작하십시오. 이를 통해 MySQL 및 Redis와 같은 미디어에 데이터를 저장하여 성능, 보안 및 확장 성을 향상시킬 수 있습니다.

    세션 ID 란 무엇입니까?세션 ID 란 무엇입니까?Apr 24, 2025 am 12:13 AM

    SessionId는 웹 애플리케이션에 사용되는 메커니즘으로 사용자 세션 상태를 추적합니다. 1. 사용자와 서버 간의 여러 상호 작용 중에 사용자의 신원 정보를 유지하는 데 사용되는 무작위로 생성 된 문자열입니다. 2. 서버는 쿠키 또는 URL 매개 변수를 통해 클라이언트로 생성하여 보낸다. 3. 생성은 일반적으로 임의의 알고리즘을 사용하여 독창성과 예측 불가능 성을 보장합니다. 4. 실제 개발에서 Redis와 같은 메모리 내 데이터베이스를 사용하여 세션 데이터를 저장하여 성능 및 보안을 향상시킬 수 있습니다.

    무국적 환경 (예 : API)에서 세션을 어떻게 처리합니까?무국적 환경 (예 : API)에서 세션을 어떻게 처리합니까?Apr 24, 2025 am 12:12 AM

    JWT 또는 쿠키를 사용하여 API와 같은 무국적 환경에서 세션을 관리 할 수 ​​있습니다. 1. JWT는 무국적자 및 확장 성에 적합하지만 빅 데이터와 관련하여 크기가 크다. 2. 쿠키는보다 전통적이고 구현하기 쉽지만 보안을 보장하기 위해주의해서 구성해야합니다.

    See all articles

    핫 AI 도구

    Undresser.AI Undress

    Undresser.AI Undress

    사실적인 누드 사진을 만들기 위한 AI 기반 앱

    AI Clothes Remover

    AI Clothes Remover

    사진에서 옷을 제거하는 온라인 AI 도구입니다.

    Undress AI Tool

    Undress AI Tool

    무료로 이미지를 벗다

    Clothoff.io

    Clothoff.io

    AI 옷 제거제

    Video Face Swap

    Video Face Swap

    완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

    뜨거운 도구

    SecList

    SecList

    SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

    드림위버 CS6

    드림위버 CS6

    시각적 웹 개발 도구

    Eclipse용 SAP NetWeaver 서버 어댑터

    Eclipse용 SAP NetWeaver 서버 어댑터

    Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

    SublimeText3 Linux 새 버전

    SublimeText3 Linux 새 버전

    SublimeText3 Linux 최신 버전

    SublimeText3 Mac 버전

    SublimeText3 Mac 버전

    신 수준의 코드 편집 소프트웨어(SublimeText3)