首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PHP连接到Asana API

使用PHP连接到Asana API
EN

Stack Overflow用户
提问于 2017-03-02 00:20:02
回答 1查看 542关注 0票数 0

我正在尝试通过Asana-php连接到Asana API。当我创建我的index.php并放置需要连接到OAuth的代码时,我在尝试连接到Asana. [this is my app in Asana][1]. How do I connect toAsana`时遇到了一些问题,或者我做错了什么。我的代码是:

代码语言:javascript
复制
require '/vendor/autoload.php';

$ASANA_CLIENT_ID = getenv('my_asana_client_id');
$ASANA_CLIENT_SECRET = getenv('my_asana_client_secret');

$client = Asana\Client::oauth(array(
'client_id' => $ASANA_CLIENT_ID,
'client_secret' => $ASANA_CLIENT_SECRET,
// this special redirect URI will prompt the user to copy/paste the code.
// useful for command line scripts and other non-web apps
'redirect_uri' => 'https://chefpepper.dyndns.org/ChefPepperProjects/auth/asana/callback'
));

echo "authorized=" . $client->dispatcher->authorized . "\n";

# get an authorization URL:
$state = null;
$url = $client->dispatcher->authorizationUrl($state);`
EN

回答 1

Stack Overflow用户

发布于 2017-03-15 08:31:13

我是Asana的开发者倡导者,也许我能帮到你!

首先,温习一下OAuth流可能是个好主意(我们在这方面使用了some docs )。基本上,这个想法是有3个参与者:用户,你的应用程序和体式。您可能要查找的流是here

简短的版本是,对于OAuth应用程序:

  • 你从任何地方给用户发送一个Asana拥有的地址(它不一定要在你的集成中,只需要一个直接的链接就可以了)和你的客户id。这会让用户授予你访问权限。
  • 如果他们同意,Asana会向用户的浏览器发回一个带有长时间代码的重定向请求。请注意,这意味着您的服务器将使用此代码从用户的浏览器调用,因此必须处理浏览器对您指定的重定向URI的新传入请求,并且此位置必须可供集成的所有用户访问,无论他们在哪里。
  • 您使用php中的fetchToken (或当最后一个令牌过期时使用refreshAccessToken )将此代码和您的客户端机密发送到Asana。这是您的应用程序实际请求authorization.
  • We发回刷新令牌的位置,该令牌表示(大约)一个小时内有效的客户端-用户凭据对。
  • 您可以使用这些凭据代表此用户访问我们的authorization.
  • We。

因此,在我们的php库中的oauth example中这段代码停止的地方有几个步骤,您需要完成这些步骤才能继续执行。您已经完成了初始化客户端并生成用户需要访问的链接的部分,而不是其他部分(即,您实际上从未让php脚本向Asana请求凭据),所以我建议您继续执行该示例,看看您能得到多大的帮助!

(顺便说一句,如果这是供您自己使用而不是供其他用户使用,则personal access tokens入门容易10倍,尽管它们代表实际的访问凭据-所以不要将它们分发给其他用户!)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42536821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档