Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
TwitterOAuth(PHP):需要好的基本示例才能开始_Php_Html_Twitter_Twitter Oauth - Fatal编程技术网

TwitterOAuth(PHP):需要好的基本示例才能开始

TwitterOAuth(PHP):需要好的基本示例才能开始,php,html,twitter,twitter-oauth,Php,Html,Twitter,Twitter Oauth,使用Facebook的PHPSDK,我可以在我的网站上快速登录Facebook。他们只需设置一个非常容易访问的$user变量 我没有这样的运气尝试让Twitter的OAuth登录工作。。。坦率地说,他们的github材料对于那些对PHP和web设计相对陌生的人来说是令人困惑和无用的,更不用说我尝试过的许多非官方示例也同样令人困惑或过时了 我真的需要一些帮助才能让Twitter登录正常工作——我是说,这只是一个基本的例子,我单击登录按钮,授权我的应用程序,然后它重定向到一个页面,在该页面上显示登录

使用Facebook的PHPSDK,我可以在我的网站上快速登录Facebook。他们只需设置一个非常容易访问的
$user
变量

我没有这样的运气尝试让Twitter的OAuth登录工作。。。坦率地说,他们的github材料对于那些对PHP和web设计相对陌生的人来说是令人困惑和无用的,更不用说我尝试过的许多非官方示例也同样令人困惑或过时了

我真的需要一些帮助才能让Twitter登录正常工作——我是说,这只是一个基本的例子,我单击登录按钮,授权我的应用程序,然后它重定向到一个页面,在该页面上显示登录用户的姓名

我真的很感谢你的帮助


编辑我知道存在,但它几乎没有提供任何指导来让他的东西正常工作。

以下是一些OAuth 1.0A PHP库及其示例:


TwitterAsync提供了如何按照您的要求简单地登录用户的功能。

我刚刚从github试用了abraham的twitteroauth,它似乎对我很有用。这就是我所做的

  • git克隆
  • 将此文件上传到您的网络主机上的域名,例如www.example.com
  • 转到并注册您的申请。您需要的更改是(假设您将使用位于的abraham的twitteroauth示例)
    a) 申请网站将是
    b) 应用程序类型将是浏览器
    c) 回调url为(Callback.php包含在git源代码中)
  • 完成此操作后,您将获得CONSUMER_密钥和CONSUMER_SECRET,您可以从twitteroauth发行版在config.php中对其进行更新。还将回调设置为与相同
  • 就这样。如果您现在导航到,您将获得“登录Twitter”,这将带您进入Twitter,授权请求并返回index.php页面

    编辑: 榜样不起作用,但不要担心。按照以上步骤上传到服务器。 确保从github存储库重命名该文件,即config sample.php->config.php


    如果您想查看一个工作示例,请查找它。

    以下是使用PHP将Twitter OAuth API集成到Web应用程序的分步指南。请看下面的教程

    你需要先通过下面的URL创建Twitter应用程序

    然后,您需要为twitter应用程序提供必要的信息。一旦您提供了所有信息,然后将其保存。您将获得Twitter应用程序消费者密钥和消费者机密


    请从上面的链接下载源文件,并用您的用户密钥(API密钥)、用户密钥(API密钥)和回调URL替换TWITTER_消费者密钥、TWITTER_消费者密钥和TWITTER_OAUTH_回调。然后将其上传到您的服务器。现在,它将成功运行。

    这是一个基本的示例,可以获取url进行授权,然后在您从twitter返回时获取用户基本信息

    <?php
    session_start();
    //add autoload note:do check your file paths in autoload.php
    require "ret/autoload.php";
    use Abraham\TwitterOAuth\TwitterOAuth;
    //this code will run when returned from twiter after authentication
    if(isset($_SESSION['oauth_token'])){
      $oauth_token=$_SESSION['oauth_token'];unset($_SESSION['oauth_token']);
      $consumer_key = 'your consumer key';
      $consumer_secret = 'your secret key';
      $connection = new TwitterOAuth($consumer_key, $consumer_secret);
     //necessary to get access token other wise u will not have permision to get user info
      $params=array("oauth_verifier" => $_GET['oauth_verifier'],"oauth_token"=>$_GET['oauth_token']);
      $access_token = $connection->oauth("oauth/access_token", $params);
      //now again create new instance using updated return oauth_token and oauth_token_secret because old one expired if u dont u this u will also get token expired error
      $connection = new TwitterOAuth($consumer_key, $consumer_secret,
      $access_token['oauth_token'],$access_token['oauth_token_secret']);
      $content = $connection->get("account/verify_credentials");
      print_r($content);
    }
    else{
      // main startup code
      $consumer_key = 'your consumer key';
      $consumer_secret = 'your secret key';
      //this code will return your valid url which u can use in iframe src to popup or can directly view the page as its happening in this example
    
      $connection = new TwitterOAuth($consumer_key, $consumer_secret);
      $temporary_credentials = $connection->oauth('oauth/request_token', array("oauth_callback" =>'http://dev.crm.alifca.com/twitter/index.php'));
      $_SESSION['oauth_token']=$temporary_credentials['oauth_token'];       $_SESSION['oauth_token_secret']=$temporary_credentials['oauth_token_secret'];$url = $connection->url("oauth/authorize", array("oauth_token" => $temporary_credentials['oauth_token']));
    // REDIRECTING TO THE URL
      header('Location: ' . $url); 
    }
    ?>
    
    
    
    Abraham's在这里有一个工作演示:

    按照演示自述中的步骤进行操作对我很有效。为了在macOS上运行composer,我必须在它之后执行以下操作:
    mv composer.phar/usr/local/bin/composer


    在我看来,这个演示可以简单得多,应该包含在主要的twitteroauth repo中。

    是的,我一直在寻找一个同样有效的。很多人似乎只是举了一些不起作用的例子。你反对使用像zend框架这样的框架吗?如果没有的话,有一些工作的例子。谢谢,这是有效的。。。但是如何访问
    $content
    数组中的特定元素?如果我尝试
    $twittername=$content['screen_name']
    我得到错误
    致命错误:无法将stdClass类型的对象用作数组
    它存储为stdClass(PHP中使用的泛型空类)。您可以通过$content->{screen\u name}访问屏幕名。两个示例都已关闭。最好通过$content->screen\u name;这个答案不适用于截至2020年1月的最新推特OAuth回购协议。谢谢您添加这个!这是我的一个老问题,但显然仍然可以作为参考。这很有效。从字面上说,只是复制和粘贴更新了消费者密钥和返回url,并按预期运行。太棒了!!在过去的两天里,我整天都在网上搜索。但我只是得到了更老的twitter代码。荣誉这就像黄油一样光滑!!“添加自动加载注释:检查autoload.php中的文件路径”我们必须检查什么?我应该在这个文件中修改什么?你如何在本地计算机上测试这个?应该可以省略代码中的回调部分,因为java库(例如twitter4j)不需要回调部分。在放置自动加载文件的地方,文件的@Fred37b路径确保autoload.php中的路径相同