使用PHP访问Twitter广告API

时间:2015-05-11 07:21:59

标签: php twitter

我需要将 Twitter广告API 集成到我的PHP应用程序中。 仅应用程序身份验证成功,但单用户身份验证不成功。 我正在使用Abrahams PHP twitteroauth Library。

<? php namespace Abraham\TwitterOAuth;
    include "autoload.php";
    const CONSUMER_KEY = "**********************************";
    const CONSUMER_SECRET = "*************************************";
    $oauthToken = "****************************************";
    $oauthTokenSecret = "**************************************";

    function getConnectionWithAccessToken($oauth_token, $oauth_token_secret) {
        $connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $oauth_token, $oauth_token_secret);
        return $connection;
    }

    $connection = getConnectionWithAccessToken($oauthToken, $oauthTokenSecret);
    $content = $ connection - > get("statuses/home_timeline");
    echo "<pre>";
    print_r($content); 
?>

收到错误。

> [error] [client 127.0.0.1] PHP Fatal error:  Uncaught exception
> 'Abraham\\TwitterOAuth\\TwitterOAuthException' with message 'name
> lookup timed out' in /var/www/tauth/src/TwitterOAuth.php:346\nStack
> trace:\n#0 /var/www/tauth/src/TwitterOAuth.php(277):
> Abraham\\TwitterOAuth\\TwitterOAuth->request('https://api.twi...',
> 'GET', 'Authorization: ...', Array)\n#1
> /var/www/tauth/src/TwitterOAuth.php(248):
> Abraham\\TwitterOAuth\\TwitterOAuth->oAuthRequest('https://api.twi...',
> 'GET', Array)\n#2 /var/www/tauth/src/TwitterOAuth.php(177):
> Abraham\\TwitterOAuth\\TwitterOAuth->http('GET', 'https://api.twi...',
> 'statuses/home_t...', Array)\n#3 /var/www/tauth/index1.php(16):
> Abraham\\TwitterOAuth\\TwitterOAuth->get('statuses/home_t...')\n#4
> {main}\n  thrown in /var/www/tauth/src/TwitterOAuth.php on line 346

请帮助我访问Twitter广告API。

1 个答案:

答案 0 :(得分:0)

目前处于测试阶段的Codebird-PHP 3.0.0支持访问Ads API。它看起来像这样:

$reply = $cb->ads_accounts_ACCOUNT_ID_cards_appDownload([
  'account_id' => '123456789',
  'name' => 'Test',
  'app_country_code' => 'DE'
]);

多方法API调用

在Twitter广告API中,HTTP GET,POST,PUT和/或DELETE可以访问多种方法。虽然Codebird尽力猜测你想要使用哪个HTTP动词,但最明智的做法是自己提示,如:

$reply = $cb->ads_sandbox_accounts_ACCOUNT_ID_cards_imageConversation_CARD_ID([
  'httpmethod' => 'DELETE',
  'account_id' => '123456789',
  'card_id' => '2468013579'
]);

Codebird将自动从参数列表中删除httpmethod参数,并设置相应的HTTP谓词。

有关Codebird-PHP&amp;的更多信息下载地址:

https://github.com/jublonet/codebird-php

(请务必下载3.x版或更新版本。)