【发布时间】:2017-06-01 14:32:49
【问题描述】:
在使用 Abraham 的 Twitter OAuth (https://twitteroauth.com/) PHP 库访问 Twitter REST API 时,我在将 friends/ids 请求的结果传递给 users/lookup 请求时遇到问题。
身份验证后,我得到一个帐户的好友列表作为用户 ID:
$content = $connection->get("followers/ids", ["screen_name" => $input]);
然后我正在创建一个逗号分隔的列表:
foreach ($content as $user) {
$userlist = implode(', ', $user);
然后我将其传递给用户/查找请求:
$output = $connection->post("users/lookup", ["user_id" => $userlist]);
这给出了一个代码 17 错误,我理解这意味着 Twitter 没有识别出这样的帐户。输出 imploded $userlist 表明此步骤工作正常。
如果我自己定义$userlist,那么随后对users/lookup 的调用就可以正常工作。例如:
$userlist = "820310862045052930, 806614673474912256, 745020013837434880, 789205729123065860, 717272899741204480, 2523773164, 763810846929719296, 817061186705457152, 806495626670186496, 1935657786, 813858305282109442, 224295002, 24016369, 719472791200739328, 3292608016, 544394440, 338499233, 704776216, 1080910670, 2162932007, 15700673, 2212757984, 375238808, 2949937593, 244523746, 145021177, 4195801821, 799570638847561728"
我尝试将第一个请求的结果(朋友/ID)转换为数组:
$contentarray = json_decode(json_encode($content), True);
但这没有区别。我还尝试将 id 列表作为数组传递(并在请求中定义 $userlist )。将$userlist 括在引号中也不起作用,如果我使用 GET 或 POST 也没有区别。同样,创建另一个仅包含 user_ids 的数组(不包括游标)并从中创建一个逗号分隔的列表并没有什么区别。
Twitter OAuth 通常使用起来非常简单直观,但我在这上面花了好几个小时却一无所获。任何人都可以帮忙解决我哪里出错了吗?
【问题讨论】:
标签: php twitter twitter-oauth